所以,我正在运行一个宏,它会在预先形成搜索后对网页进行报废。它输出结果,清除它们,然后用另一个运行搜索。
我试图复制输出到不同工作表的部分文本。没有丢失任何数据。
我目前的代码" recopies"每次输入新行条目时每列。我只希望它复制到有边框的单元格中。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Columns("D:P")) Is Nothing Then Exit Sub
Range("D" & Target.Row).Copy Sheets("Sheet3").Range("A" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("E" & Target.Row).Copy Sheets("Sheet3").Range("B" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("F" & Target.Row).Copy Sheets("Sheet3").Range("C" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("G" & Target.Row).Copy Sheets("Sheet3").Range("D" & Rows.COUNT).End(xlUp).Offset(1, 0) '
Range("H" & Target.Row).Copy Sheets("Sheet3").Range("E" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("I" & Target.Row).Copy Sheets("Sheet3").Range("F" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("J" & Target.Row).Copy Sheets("Sheet3").Range("G" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("K" & Target.Row).Copy Sheets("Sheet3").Range("H" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("L" & Target.Row).Copy Sheets("Sheet3").Range("I" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("M" & Target.Row).Copy Sheets("Sheet3").Range("J" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("N" & Target.Row).Copy Sheets("Sheet3").Range("K" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("O" & Target.Row).Copy Sheets("Sheet3").Range("L" & Rows.COUNT).End(xlUp).Offset(1, 0)
Range("P" & Target.Row).Copy Sheets("Sheet3").Range("M" & Rows.COUNT).End(xlUp).Offset(1, 0)
End Sub
答案 0 :(得分:1)
无法知道带有边框的"单元格在哪里?从您的屏幕截图开始/结束,因为我们无法看到行/列标签。但听起来你似乎想修改你的Intersect
声明以说明具体范围。
现在,Intersect(Target, Columns("D:P"))
表示任何Target
单元格,它位于D列到P列,无论行。
您需要的是:
Intersect(Target, Range("D10:P1000"))
哪个会进行微调,以便_Change
事件只处理在指定Range("D10:P1000")
内更改的单元格。
您还可以使用.Copy
方法使用单 .Resize
语句:
Private Sub Worksheet_Change(ByVal Target As Range)
''## Modify the RANGE argument as needed
If Intersect(Target, Range("D10:P1000")) Is Nothing Then Exit Sub
Range("D" & Target.Row).Resize(1,13).Copy Sheets("Sheet3").Range("A" & Rows.COUNT).End(xlUp).Offset(1, 0)
End Sub
此处,.Resize
方法显示*取范围Range("D" & Target.Row)
并使其宽13列,其中包含Target.Row
中的列D至P.