VB取excel表格中一列数据到数组中打印数组时提示数组下标越界

Python013

VB取excel表格中一列数据到数组中打印数组时提示数组下标越界,第1张

试下我的代码吧,写程序时要尽可能的考虑所有情况的

Private Sub CommandButton1_Click()

Dim s() As String

Dim dteStart As Date, dteEnd As Date, dteTmp As Date

Dim i As Long, k As Long

k = -1

dteStart = CDate(Sheet1.Cells(2, 1).Value)

dteEnd = CDate(Sheet1.Cells(2, 2).Value)

For i = 2 To 7

dteTmp = CDate(Sheet2.Cells(i, 2).Value)

If (dteTmp >= dteStart) And (dteTmp <= dteEnd) Then

k = k + 1

ReDim Preserve s(k)

s(k) = Sheet2.Cells(i, 1).Value

End If

Next

'打印取到的数组s内容

k = UBound(s)

If k >= 0 Then

For i = 0 To k

MsgBox s(i)

Next

End If

End Sub

C语言源文件为文本文件,不支持数学意义上的下标,在C语言中下标的含义是针对数组的,当数组a的下标为n时,代表取a的第n个元素,其形式为a[n]。如果定义数组时开辟的空间大小为M,即type a[M]:那么合法的下标范围为0<= n <= M-1且n为整数。当n值超过这个范围时,程序同样可以运行,但访问的元素是数组以外的,也就是越界操作。在C语言的语法中允许这样操作,但经常带来不可预知的后果,所以一般不允许这样写。

C++中输出数组数据分两类情况:字符型数组和非字符型数组 当定义变量为字符型数组时,采用cout利用for循环,依次把数组的每个元素输出! 例如: //参考代码如下:#include "iostream"#define N 5using namespace stdint main(){int a[N]//定义数组 for(int i=0i>a[i]for(int i=0