查找第一个空元素在一个字符串数组
问题描述:
我想使用此代码来确定Firstcell
价值,但不能得到一个输出:查找第一个空元素在一个字符串数组
Sub FindFirstEmptyCell()
Dim l As Integer
Dim Firstcell As Integer
Dim MyArray(5) As String
Dim currentRowValue As String
MyArray(1) = "g"
MyArray(2) = "g"
MyArray(3) = "s"
MyArray(4) = ""
MyArray(5) = "f"
For l = 0 To 5
currentRowValue = MyArray(l)
If IsEmpty(currentRowValue) = True Or currentRowValue = "" Then
Firstcell = l: Exit For
End If
Next
End Sub
答
MYARRAY(0)始终是“”的长相的代码
答
在您的代码中,您定义了Dim MyArray(5) As String
,这意味着有6个元素,从0
开始到5
。 如果您想要5个元素,请更改为Dim MyArray(4) As String
。
所以设置字符串的时候,你需要从MyArray(0) = "g"
开始,等等...
然后,运行下面的代码时,你需要记住的是,阵列柜从0
开始,如果你想要在工作表中获得一行的引用,那么你需要添加+1
,因为没有行0
,你会得到一个错误。
Sub FindFirstEmptyCell()
Dim l As Integer
Dim Firstcell As Integer
Dim MyArray(4) As String
Dim currentRowValue As String
MyArray(0) = "g"
MyArray(1) = "g"
MyArray(2) = "s"
MyArray(3) = ""
MyArray(4) = "f"
' loop through all elements in MyArray
For l = LBound(MyArray) To UBound(MyArray)
If IsEmpty(MyArray(l)) Or MyArray(l) = "" Then
Firstcell = l
MsgBox "First empty element in MyArray is " & Firstcell
Exit For
End If
Next
End Sub
+0
只是通过声明一个数组的上界来抛出,只有下界被隐式地设置为统治的“Option Base”。这意味着,如果'Option Base 1'被判定为'MyArray(4)',则编译为MyArray(1到4)。要覆盖这个默认行为,只需声明下限和上限('MyArray(0到4)')。 – user3598756
什么叫“输出”的意思是,你的意思是你没有得到的变量'Firstcell'预期的结果? –
不清楚你的真实目标是什么:你在寻找'Range'中的第一个空单元吗? – user3598756