VBA排列10行8列二维数组数组有值填充使数组中每个元素所在列中都是不重复或为唯一
的值。
以下是一个实现此要求的VBA代码示例:
Sub UniqueValues()
Dim arr(1 To 10, 1 To 8) As Integer ' 定义10行8列的整数数组
Dim i As Integer, j As Integer
' 填充数组
For i = 1 To 10
For j = 1 To 8
arr(i, j) = i * j
Next j
Next i
' 遍历每一列,检查元素是否唯一
For j = 1 To 8
Dim uniqueValues() As Integer ' 定义一个动态数组来存储唯一值
Dim count As Integer ' 记录唯一值的数量
count = 0
For i = 1 To 10
' 检查当前元素是否已经在uniqueValues中出现过
If UBound(Filter(uniqueValues, arr(i, j))) = -1 Then
' 如果没有出现过,则添加到uniqueValues中
ReDim Preserve uniqueValues(0 To count)
uniqueValues(count) = arr(i, j)
count = count + 1
Else
' 如果已经出现过,则将当前元素赋值为0
arr(i, j) = 0
End If
Next i
Next j
' 输出结果到Immediate窗口
For i = 1 To 10
For j = 1 To 8
Debug.Print arr(i, j),
Next j
Debug.Print
Next i
End Sub
此代码首先定义了一个10行8列的整数数组,并填充了一些随机的整数。然后,代码遍历每一列,并检查每个元素是否唯一。如果元素已经在该列的先前位置出现过,则将该元素赋值为0。最后,代码输出修改后的数组到Immediate窗口
原文地址: https://www.cveoy.top/t/topic/hfk5 著作权归作者所有。请勿转载和采集!