从单元读取string时出错
Sub nationalityscript() Dim i As Integer Dim temp As Integer Dim Country As String Dim strEnd As Integer Dim strComplete As String i = 0 Do While i < 300 Dim k As Integer Dim a As String strComplete = Cells(h, i).Value strEnd = Len(strComplete) k = 0 Do While k < strEnd a = Cells(h, i).Value.Substring(k, k) If a = "," Then temp = a End If k = k + 1 Loop Country = Cells(h, i).Value.Substring(temp, strEnd) i = i + 1 Loop End Sub
嗨,这是我第一天用vba编程,所以请在我身上轻松一下。
我正在写excel中的macros,专注于列h 。 在列h中find的任何string的代码将通过,确定最后一个“,”后的string的最后一部分,然后用它所得到的子stringreplace该单元格中的string。
我认为这可能与我的问题无关,因为我的问题是将单元格中的string分配给一个新的variables。
我的问题是在这里突出显示的行。
我得到的错误是:
运行时错误1004,对象定义或应用程序定义的错误。
你的程序正在寻找一些名为“h”的variables或标记。 由于没有一个,编译器抱怨。 Cells
取整数的行和列,而不是列字母。 所以如果用8(第8列)代替h,就应该解决这个问题。
更新
对不起,我想你也希望Cells(i, 8)
的语法是Cells(RowNumber, ColumnNumber)
。
首先,列j中第i行的值为Cells(i,j)。
其次,您需要将h声明为列或常量…
第三,我不知道循环variables声明是这样的
Do While CONDITION Dim a as string Wend
我不认为这会工作。