Str*_*nas 3 excel vba excel-vba
快问!
我有一个宏使用Application.AciveSheet来引用当前的工作表,因为我希望它在我们众多的工作表中运行.它将数据从Application.ActiveSheet复制到另一个工作表"Labels".我想实际在宏中创建工作表标签,然后返回到Application.AciveSheet,以便其余的宏可以运行.我不能,因为"标签"成为新的活动表.
这是我当前的脚本供参考
Sub LabelCreation()
'uses the active sheet and Z range to 120
lr = Application.ActiveSheet.Range("Z120").End(xlUp).Row
k = 0
For i = 4 To lr
k = k + 1
Application.ActiveSheet.Range("Z" & i).Copy
Sheets("Labels").Range("A" & k).PasteSpecial Paste:=xlPasteFormats
Sheets("Labels").Range("A" & k).PasteSpecial Paste:=xlPasteValues
Sheets("Labels").Range("B" & k).PasteSpecial Paste:=xlPasteFormats
Sheets("Labels").Range("B" & k).PasteSpecial Paste:=xlPasteValues
Sheets("Labels").Range("C" & k).PasteSpecial Paste:=xlPasteFormats
Sheets("Labels").Range("C" & k).PasteSpecial Paste:=xlPasteValues
Sheets("Labels").Range("D" & k).PasteSpecial Paste:=xlPasteFormats
Sheets("Labels").Range("D" & k).PasteSpecial Paste:=xlPasteValues
k = k + 1
Application.ActiveSheet.Range("AA" & i).Copy
Sheets("Labels").Range("A" & k).PasteSpecial Paste:=xlPasteFormats
Sheets("Labels").Range("A" & k).PasteSpecial Paste:=xlPasteValues
Sheets("Labels").Range("B" & k).PasteSpecial Paste:=xlPasteFormats
Sheets("Labels").Range("B" & k).PasteSpecial Paste:=xlPasteValues
Sheets("Labels").Range("C" & k).PasteSpecial Paste:=xlPasteFormats
Sheets("Labels").Range("C" & k).PasteSpecial Paste:=xlPasteValues
Sheets("Labels").Range("D" & k).PasteSpecial Paste:=xlPasteFormats
Sheets("Labels").Range("D" & k).PasteSpecial Paste:=xlPasteValues
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
小智 5
在代码的开头添加此代码(Sub之后的第一行)
Sub LabelCreation()
Set aws = ActiveSheet 'aws is current active sheet
Sheets.Add 'add a new sheet
ActiveSheet.Name = "Labels" 'name it "labels"
aws.Activate 'reactivate initial active sheet
'uses the active sheet and Z range to 120
Run Code Online (Sandbox Code Playgroud)