【发布时间】:2016-11-04 22:55:35
【问题描述】:
我对 VBA 比较陌生,正在慢慢学习。
我有一个非常基本的宏,它将在我的第一个工作表上的C 列中查找单词PASS,然后将整行复制到也称为PASS 的辅助工作表中。
我试图仅从列A:E 复制和粘贴该行中的数据。以下是我当前的代码。我试过添加.range("A:E"),但它什么也没做。
任何有关如何仅复制该特定行的 A-E 列中的信息的帮助将不胜感激。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Intersect(Target, Me.Range("C:C")) Is Nothing Then Exit Sub
For Each C In Intersect(Target, Me.Range("C:C")).Cells
If C.Text = "PASS" Then
C.EntireRow.Copy Worksheets("PASS").Cells(Rows.Count, "C").End(xlUp).Offset(1).EntireRow
End If
Next
End Sub
【问题讨论】:
-
引用范围时需要指定行号和列。
range("A:E")仅指定列。它需要类似于 `range("a54:e54")。 -
@Scott Marcus - 尽管效率不高,但您可以像这样引用整个列。