我正在使用VBA代码将选项卡上的所有内容拉到一个标签中。一切都很好,除了我不能包括TAB文件名。我有超过200多个标签,我需要将它们的所有内容放在一个标签上(数据结构相同),但也要在其中一个列中包含标签名称(最好是A列)。这是我到目前为止所做的:
Sub FuLL_LIST_MERGE()
'
' FuLL_LIST_MERGE Macro
'
'
Dim ws As Worksheet
ActiveSheet.UsedRange.Offset(0).Clear
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> ActiveSheet.Name Then
ws.UsedRange.Copy
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
Next
End Sub
答案 0 :(得分:0)
试试这个
Sub FuLL_LIST_MERGE()
'
' FuLL_LIST_MERGE Macro
Dim ws As Worksheet, n As Long
ActiveSheet.UsedRange.Offset(0).Clear
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> ActiveSheet.Name Then
n = ws.Range("A" & Rows.Count).End(xlUp).Row
ws.Range("A1").Resize(n, ws.UsedRange.Columns.Count).Copy
Range("B" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Range("B" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlFormats
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Resize(n) = ws.Name
End If
Next
End Sub
答案 1 :(得分:0)
谢谢@SJR !!!但是,在每个工作表中,有1到100行,但格式化了200行(有行边界等)。所以现在发生的是这个脚本为TAB名称占用了200行(每个单元格中格式化了200行),但它只需要1-100个文本来自工作表。换句话说,我从所有工作表中粘贴了1753行,但是在A列中有40042行包含日期。
Sub FuLL_LIST_MERGE()
'
' FuLL_LIST_MERGE Macro
Dim ws As Worksheet
ActiveSheet.UsedRange.Offset(0).Clear
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> ActiveSheet.Name Then
ws.UsedRange.Copy
Range("B" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Resize(ws.UsedRange.Rows.Count) = ws.Name
End If
Next
End Sub