我正在处理记录的宏,它将对许多类似的工作表执行相同的操作。但是,如果我为工作表整齐地工作,当我在其他工作簿上尝试时,它不起作用。 这里是一块代码,基本上复制了第一列,在新的工作表粘贴,删除重复和获得的第6号:记录的宏不能在其他工作表上工作
Sub Macro2()
ActiveSheet.Select
Columns("A:A").Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count).Select
Columns("A:A").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.UnMerge
ActiveSheet.Range("$A:$A").RemoveDuplicates Columns:=1, Header:=xlNo
Range("B2").Select
ActiveCell.FormulaR1C1 = "=LEFT(RC[-1],6)"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B14")
Range("B2:B14").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("A:A").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Selection.Insert Shift:=xlToRight
Range("D8").Select
End Sub
我知道它不好看,我还是学习。如果看起来很简单,我不明白它为什么不能在其他工作表上工作。
你是什么意思的“它不工作”?我没有看到任何特定的表格。但是,您应该减少/删除选择。 [here](http://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/9292/avoid-using-select-or-activate)是一些提示。 – arcadeprecinct