我刚开始学习Excel / VBA并得到了一个简单的问题。我给出了一个从字母A到Z的列表,需要在VBA中写一个宏,它可以找到一个人的名字的第一个字母(例如我的是L)。该字母需要在同一工作表中的特定单元格(即C4)中出现。这就是我所做的,但我得到了#34;应用程序定义或对象定义"
的1004运行时错误Sub move()
Dim a As Integer
Dim x As Integer
For x = 3 To 28
If InStr(Cells(x, 1), "D") > 0 Then
Cells(a, 3) = Cells(x, 1)
a = a + 1
End If
Next x
End Sub
这是清单:
我可以做些什么来完成这项工作?如果给出一些指示,将不胜感激。
答案 0 :(得分:2)
您应该更正您的代码,如下所示:
Sub CopyName()
Dim a As Integer
a = 1
For x = 3 To 28
'this will find the names with letter "D"
If InStr(Cells(x, 1), "D") > 0 Then
Cells(a, 3) = Cells(x, 1)
a = a + 1
End If
Next x
End Sub
要查找并将A列中名称的第一个字母复制到C列,请使用VBA功能:
Sub CopyFirstLetter()
For x = 3 To 28
Cells(x, 3) = Left(Cells(x, 1), 1)
Next x
End Sub
希望这可能会有所帮助。