Excel VBA:从变量工作表名称传输数据,运行时错误“91”
我要做的是将数据从名为sheet的变量传输到特定的sheet SUMMARY。然后,我想考虑变量表中的一个单元格。因此,如果单元格>0,则会将该行复制到摘要中。但我有一个“对象变量或块变量未设置”错误。我做错了什么Excel VBA:从变量工作表名称传输数据,运行时错误“91”,vba,excel,Vba,Excel,我要做的是将数据从名为sheet的变量传输到特定的sheet SUMMARY。然后,我想考虑变量表中的一个单元格。因此,如果单元格>0,则会将该行复制到摘要中。但我有一个“对象变量或块变量未设置”错误。我做错了什么 Sub transfer() Dim ws As String Dim n As Integer Dim i As Long Dim c As Range n = Sheets("S
Sub transfer()
Dim ws As String
Dim n As Integer
Dim i As Long
Dim c As Range
n = Sheets("Start").Range("c24").Value + 3
If n > 0 Then
For i = 3 To n
Dim desrow As Integer
desrow = i - 1
Dim rng As Range
rng = Range("AA11:AA40")
For Each c In rng
If c = 12 Then
Sheets("OFFLIMITS").Cells(desrow, 1).Value = Sheets(i).Range("C3")
End If
Next c
Next i
End If
End Sub
您必须设置对象,因此需要说:
Set rng = Range("AA11:AA40")
我遇到一个编译错误:找不到方法或数据成员。错误是发生在那一行还是另一行?如果是另一行,哪一行?而且,如果在那一行,你的活动工作表是工作表还是图表?@LiezlMaigue-而且,如果是那一行,我有时会看到帖子的复制/粘贴包含一些看不见的无效字符,所以只需尝试删除这一行,然后手动再次键入即可。@LiezlMaigue-好的-尝试删除并键入-出现编译错误非常奇怪,因为这条线至少在视觉上是完全好的。我将您的代码复制到VBA中,甚至使用“复制/粘贴”更改了行,然后尝试运行它并成功编译。@RADO-更糟糕的编码方式是不限定范围引用的工作表:D我无法从代码中计算出它要引用或可能要引用的工作表,这就是为什么我在写答案时没有加上限定条件。我仍在挠头,试图弄清楚代码与问题之间的关系。所以,也许它应该是Sheetsi.RangeAA11:AA40???