Excel 将编码放在ListObject表中
下面的VBA代码向下查看表中的B列。当在B列中识别出一个值(60)时,我将相邻的值从C列复制到D列中。 我尝试过使用偏移量,当它不在正式的ListObject表中时效果很好,但在表中“无效或不合格引用”时,我会收到一条错误消息。 如何更新VBA代码以在excel表中工作?我已经四处搜索并尝试了一些更改,但仍然出现错误Excel 将编码放在ListObject表中,excel,vba,Excel,Vba,下面的VBA代码向下查看表中的B列。当在B列中识别出一个值(60)时,我将相邻的值从C列复制到D列中。 我尝试过使用偏移量,当它不在正式的ListObject表中时效果很好,但在表中“无效或不合格引用”时,我会收到一条错误消息。 如何更新VBA代码以在excel表中工作?我已经四处搜索并尝试了一些更改,但仍然出现错误 Sub TableFind() Dim LastRow As Long Dim rng As Range, C As Range With Worksheet.ListObje
Sub TableFind()
Dim LastRow As Long
Dim rng As Range, C As Range
With Worksheet.ListObjects("myTable")
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
Set rng = .Range("B2:B" & LastRow)
For Each C In rng
If C.Value = "60" Then
C.Offset(, 3).Copy
C.Offset(, 4).PasteSpecial Paste:=xlPasteValues
End If
Next C
End With
End Sub
不需要查找表中的最后一行
DataBodyRange
引用了表的主体,因此只需使用它即可
假设表从A列开始,您可能会执行以下操作:
With Worksheet.ListObjects("myTable")
For Each C in .ListColumns(2).DataBodyRange
If C.Value = "60" Then
C.Offset(, 2).Value = C.Offset(,1).Value
End If
Next C
End With
不需要查找表中的最后一行
DataBodyRange
引用了表的主体,因此只需使用它即可
假设表从A列开始,您可能会执行以下操作:
With Worksheet.ListObjects("myTable")
For Each C in .ListColumns(2).DataBodyRange
If C.Value = "60" Then
C.Offset(, 2).Value = C.Offset(,1).Value
End If
Next C
End With
我试图用sheet.ListObjects(“myTable”)引用
后面的表名。我尝试在范围之前执行类似操作。我尝试使用sheet.ListObjects(“myTable”)
引用之后的表名。我试着在射程之前做类似的事情。