【发布时间】:2014-11-13 19:33:22
【问题描述】:
我找到了这个宏,它完成了我需要它做的事情,但是每当它被激活时,它似乎会多次复制/粘贴数据。我的主列表应该只有 75 行左右,而当它运行时,它会以 268 行结束。为什么要这样做?另外,有没有办法编辑它,所以如果工作表在“A1”之后没有数据,它不会复制该工作表?
Option Explicit
Private Sub Worksheet_Activate()
'Merge all sheets in a workbook into one summary sheet (stacked)
Dim cs As Worksheet, ws As Worksheet, LR As Long, NR As Long
Application.ScreenUpdating = False
Set cs = Sheets("Master List")
cs.Activate
Range("A2:F" & Rows.Count).ClearContents
For Each ws In Worksheets
If ws.Name <> "Master List" Then
NR = cs.Range("A" & Rows.Count).End(xlUp).Row + 1
LR = ws.Range("A" & Rows.Count).End(xlUp).Row
ws.Range("A2:F" & LR).copy cs.Range("A" & NR)
End If
Next ws
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
要跳过单元格 A1 中没有数据的 WS,将条件更改为:
If ws.Name <> "Master List" And isempty(ws.Range("A1")) = False Then