1. vba中如何给数组赋值
"一个数组不能直接给另一个数组赋值,也就是不能brr=arr;但是可以为数组的某个元素复制,比如brr(1,3)=arr(1,3);
另外一个方法是把一个数组一下子赋值给一个变体型变量,比如下面就是合理的:
dimbrr,arr(1to1,1to20)然后给arr各个元素赋值,或者从你的Excel文件中某一区域,一下子读取出来。
然后就可以brr=arr这是可以的,因为brr是变体型。补充:一个数组不能直接给另一个数组赋值,也就是不能brr=arr;但是可以为数组的某个元素赋值,比如brr(1,3)=arr(1,3);
另外一个方法是把一个数组一下子赋值给一个变体型变量,比如下面就是合理的:
dim brr,arr(1 to 1,1 to 20)然后给arr各个元素赋值,或者从你的Excel文件中某一区域,一下子读取出来。
然后就可以brr=arr这是可以的,因为brr是变体型。"
2. vba数组给数组赋值
vba里没有现成的sort方法可以使用,vba里面要对数组进行排序,现有的通常做法:
1.通过单元格赋值以后,利用工作表里的Sort方法进行排序
2.通过SQL实现,也需要调用单元格区域存放数据
3.直接写循环语句通过算法来实现。
3. vba数组赋值给另一个数组
给你举一个代码段的例子,如果你会BASIC,在此基础由解决你的问题就不难了
Dim i, num1
num1 = Sheets("计算").Cells(65536, 1).End(xlUp).Row
'计算 Sheets("计算") A列最后一行数据的位置
For i = 1 To num1
If Sheets("计算").Cells(i, 1)>100 Then Sheets("公布表").Cells(i, 1) = Sheets("计算").Cells(i, 1)
Next i
'当 Sheets("计算")第1列的数据大于100时,自动拷入 Sheets("公布表") 的相应列中
如果你想将Sheets("公布表")中的空格删除,可以这样写
Dim i, num1,k
num1 = Sheets("计算").Cells(65536, 1).End(xlUp).Row
'计算 Sheets("计算") A列最后一行数据的位置
k=1
For i = 1 To num1
If Sheets("计算").Cells(i, 1)>100 Then
Sheets("公布表").Cells(k, 1) = Sheets("计算").Cells(i, 1)
k=k+1
else
k=k
endif
Next i
4. vba往数组添加数据
第一、需要引用microsoftactivexdataobjects2.0或以上版本的控件
第二、你的写法好像有问题
1、赋值我一般会用cells(i,9)=rs("salesnum")
2、或者每个单元格的赋值不用,直接用range("g3").copyfromrecordsetrs这样你的代码从range("g3").select到wend这一部分都可以不要了。
5. vba怎么给数组赋值
一维给二维赋值,参考实例如下:
for (i = 0; i < 10; i++){ for (j = 0; j < max; j++) { scanf("%d", &a[j]); } strncpy(b[i], a, max); //memcpy(b[i], a, max);}二维数组赋值有两种方法,第一种方法是单元格区域装入二维数组,如:Arr=range("a1:b19")就可以把单元格区域的值装入数组arr第二种就是通过循环装入,一个个数值装入。例:向二维数组写入数据和读取;Dim x As Integer, y As IntegerDim arr(1 To 5, 1 To 4)For x = 1 To 5
- 相关评论
- 我要评论
-