为什么单元格(variables,“B”)不起作用
我创build一个小程序,我真的不明白为什么我的代码不能工作:O
For Each numberItem In Worksheets("Sheet1").Range("A01:A240").Cells Dim c As String Dim cpt As Long cpt = numberItem c = Cells(cpt, "B") !!!!!ERROR !!!!!
如果我把1而不是cpt,它是工作。 我在网上找不到什么好东西。 是不是简单的存在或不存在?
多谢你们
相信你只需要指定你想要的行:
For Each numberItem In Worksheets("Feuil1").Range("A01:A240").Cells Dim c As String Dim cpt As Long cpt = numberItem.Row c = Cells(cpt, "B") Next
更新基于@omegastripes评论:
假设循环在单元格A10,而A10的值是37
选项1:您想使用numberItem中的行号:
For Each numberItem In Worksheets("Feuil1").Range("A01:A240").Cells Dim c As String Dim cpt As Long cpt = numberItem.Row c = Cells(cpt, "B") Next
结果: c = Cells(10, "B")
选项2:您想使用单元格A10中的值,然后稍作调整
For Each numberItem In Worksheets("Feuil1").Range("A01:A240").Cells Dim c As String Dim cpt As Long cpt = numberItem.Value c = Cells(cpt, "B") Next
结果: c = Cells(37, "B")
您的NnmberItem
variables的名称是误导性的。 在:
For Each numberItem In Worksheets("Feuil1").Range("A01:A240").Cells
numberItem
将是一个单元格,而不是一个数字。 因此,正如Sam Gilbert的回答一样,您仍然需要获取单元格的Row
或Value
属性。 虽然Value
属性是默认的属性,但VB显然希望你在这里更加具体。
我想你只是稍微改变一下。 尝试:
Cells("B" & cpt)