查找第一个空元素在一个字符串数组

查找第一个空元素在一个字符串数组

问题描述:

我想使用此代码来确定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 
+0

什么叫“输出”的意思是,你的意思是你没有得到的变量'Firstcell'预期的结果? –

+0

不清楚你的真实目标是什么:你在寻找'Range'中的第一个空单元吗? – user3598756

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