我正在使用vba宏从第1行开始在some_col中找到一个非空单元格。找到后,我想将其分配给pword并将ajdacent列中的单元格的值分配给cword。但是似乎在运行此代码时,循环不会终止,因为即使找到了非空单元,循环也不会结束。 (此外,如果我使用pword = Nothing,它还会显示类型不匹配错误,并且在msdn网站上,他们将其作为使用空字符串的选项。)

谁能告诉我这是怎么回事?


Dim pword As String
Dim cword As String
Dim present_row As Long
pword = ""

Cells(1, some_col).Activate
MsgBox "Active cell: " & ActiveCell.Address

Do
    If Not ActiveCell.value = "" Then
         pword = ActiveCell.value
         cword = ActiveCell.Offset(0, 1).value
    End If
         ActiveCell.Offset(1, 0).Activate
         present_row = ActiveCell.Row
Loop Until pword = ""

最佳答案

您只能将Is Nothing语句用于对象类型,但String不是对象。

更改

Loop Until pword Is Nothing




Loop Until pword = ""

08-05 14:40