【问题标题】:Paste visible cells error 1004粘贴可见单元格错误 1004
【发布时间】:2016-09-15 04:21:29
【问题描述】:

我正在尝试编写一些代码,该代码将使用带有表格的工作表并将可见单元格粘贴到新工作表并冻结标题行。我不断收到工作集类失败错误的 1004 粘贴方法,调试器将 activesheet.paste 突出显示为问题。我对 VBA 很陌生,所以不知道为什么我在这样一个看似简单的命令上出现错误?

    Sub Macro6()
'
' Macro6 Macro
'

'
    Sheets("Midwest Log").Select
    Range("A1").Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = "MW Log"
    Application.CutCopyMode = False
    Sheets("MW Log").Paste
    Columns("A:I").Select
    Columns("A:I").EntireColumn.AutoFit
    Rows("4:4").Select
    ActiveWindow.FreezePanes = True
    Range("A1").Select
End Sub

【问题讨论】:

    标签: vba


    【解决方案1】:

    你有Application.CutCopyMode = False 在那里。删除它,你应该没事。

    我冒昧地清理了选择。选择在 excel VBA 中被认为是非常糟糕的风格,因为它们速度慢且不可靠。你通常可以很容易地通过替换来摆脱它们

    something.Select
    Selection.dosomething
    

    与

    something.dosomething
    

    虽然冷冻有点棘手,我也不确定这是否是理想的方式。

    Sheets("Midwest Log").Range("A1").SpecialCells(xlCellTypeVisible).Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = "MW Log"
    Sheets("MW Log").Paste
    Columns("A:I").AutoFit
    ActiveWindow.SplitRow = 3
    ActiveWindow.FreezePanes = True
    

    【讨论】:

    • 代码不起作用,说excel无法处理可用资源,然后在粘贴行仍然给出错误消息。
    • 也许是你的床单?它包含大量数据吗?如果没有,您是否在新的/空白纸上尝试过?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 2020-06-16
    相关资源
    最近更新 更多