【发布时间】:2016-06-10 03:47:18
【问题描述】:
这看起来非常简单直接,但无论我进行多少测试和搜索,我都无法解决。我目前有脚本可以在不选择任何内容的情况下打开 AutoFilter,但我认为我可以在不选择数据的情况下复制数据并粘贴到新工作表中。但是,在它完成操作后,它确实将 A:K 列显示为选中状态。我一直无法弄清楚如何取消选择工作表上的这些列,也无法找出如何在不首先选择它们的情况下复制和粘贴。任何指导表示赞赏。谢谢。
Sub RunScript()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim ws1 As Worksheet
Set ws1 = ThisWorkbook.Sheets("Data")
Sheets.Add.Name = "copy"
Dim galreqws As Worksheet
Set galreqws = ThisWorkbook.Sheets("copy")
Sheets("Data").Select
Range("A:K").AutoFilter
ws1.Range("A1:K1000").Copy Destination:=Sheets("copy").Range("A1:K1000")
galreqws.Delete
'Sheets("Data").Select
Range("A:K").AutoFilter
Range("A:K").Select
Sheets("Buttons").Select
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
【问题讨论】:
-
Application.CutCopyMode=False ?
-
我应该把那个加法放在哪里?如果有帮助,我编辑了上面的内容以包含完整的脚本。
-
在显示警报之后尝试,在结束之前将其设置回 true。
-
还需要 Range("A:K").select 吗?