重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
赋值:
在龙岩等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都做网站 网站设计制作按需设计网站,公司网站建设,企业网站建设,品牌网站设计,成都营销网站建设,成都外贸网站建设公司,龙岩网站建设费用合理。
weekname(1,1)="星期一"
weekname(2,1)="星期二"
weekname(3,1)="星期三"
取值
dim S1 as string
s1=weekname(1,1) '取出星期一 一次类推
每行的数字个数不同,你说的这是不规则数组,解决方案如下:
Dim b As String = ""
Dim a As Integer()() = New Integer(9)() {}
a(0) = New Integer() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
a(1) = New Integer() {0, 3, 4, 5}
a(2) = New Integer() {0, 4, 5, 6, 7}
a(3) = New Integer() {0, 6, 5, 8, 9, 1}
a(4) = New Integer() {0, 2, 5, 1, 7}
a(5) = New Integer() {0, 4, 2, 6, 7, 3}
a(6) = New Integer() {0, 4, 5, 3, 2}
a(7) = New Integer() {0, 4, 1, 6, 2, 8, 5, 3}
a(8) = New Integer() {0, 4, 9, 6, 3, 5, 7}
a(9) = New Integer() {0, 1, 5, 9, 7, 6, 2, 4, 3, 8}
For i As Integer = 0 To a.GetUpperBound(0)
b = "第" i + 1 "行有" a(i).GetUpperBound(0) + 1 "个数" vbCrLf
Next
MessageBox.Show(b)
Dim xlsApp As Excel.Application
Dim xlsBook As Excel.Workbook
Private Sub Command1_Click()
Dim I, J As Integer
Dim A(500, 2)
Set xlsApp = Excel.Application
xlsApp.Visible = False
'假设Excel文件在:D:\Book1.xls
Set xlsBook = xlsApp.Workbooks.Open("D:\Book1.xls")
For I = 1 To 500
For J = 1 To 2
A(I - 1, J - 1) = xlsapp.cells(I, J)
Next J
Next I
'以下是退出Excel
xlsBook.Close (False)
xlsApp.Quit
Set xlsApp = Nothing
'=================================
'Excel中的500×2的数据已读入到数组A()中,以下可以添加你要运算的代码。
'=================================
End Sub
for i =0 to ...
for j =0 to ...
keyarray(i,j)=
next
next
双重循环,赋值和读取一样
结论:数组声明方式和访问方式不同导致。
先贴一个测试通过的数组遍历方式的代码:
二维数组遍历
注意遍历使用的方法,两层数据,每次的访问方式,是直接对该元素数组填写索引值获取。
所以你的正确访问方式是:
Debug.Print d(1)(1)
补充知识:为什么使用二维数组的方式访问不到?
因为这与数组的声明方式有关。本题目中使用 Dim d 的方式,声明了一个variant类型的变量。
variant data type
接着赋值的时候,给与了一个二维数组,所以范文方式必须与赋值方式持平。
如何正确使用一个二维数组?
官方文档给出的方式,是显式声明数组的维度,并挨个赋值。VB就是这样。比如下面的示例:
二维数组的声明和使用
写在最后
总而言之,使用明确的数据类型声明二维数组,是根据索引正确访问数组的关键。
我是@程序员小助手,持续分享编程知识,欢迎关注。