【问题标题】:How to copy without losing information?如何复制而不丢失信息?
【发布时间】:2019-06-01 01:42:57
【问题描述】:

我正在尝试从某个范围复制文本,但如果有人按“ESC”或其他任何键,此信息将丢失。

我用这个宏复制:

Sub Copiar_Reposta()

With Application
    .ScreenUpdating = False
End With

Planilha1.Select
Range("A45").Select
Application.CutCopyMode = False
Application.Wait (Now() + TimeValue("00:00:01"))
Application.SendKeys "{F2}", True
Application.SendKeys "+{HOME}", True
Application.SendKeys "^C", True
Application.SendKeys "{ESC}", True

Planilha3.Select

With Application
    .ScreenUpdating = True
End With

End Sub

“NUM LOCK”立即关闭,在尝试修复后,此宏也停止工作。

有没有办法从单元格中复制信息而不会丢失? 或者,有没有办法修复突然停止工作的宏。

像这样复制:

【问题讨论】:

  • 你想对复制的文本做什么? SendKeys 可能不可靠。更多上下文将有助于正确回答您的问题。
  • 您不需要使用SendKeys 来复制值...您只需编写Planilha3.Range("A45").Value = Planilha1.Range("A45").Value 而不是所有代码(假设这是您的目标单元格)
  • 这种情况下,你可以使用该功能直接将内容复制到剪贴板stackoverflow.com/a/25336423/2727437
  • 我也搜索过,这个问题是“文件资源管理器”打开时出现的一个错误,我关闭它并且它工作,但我想有另一个备份代码。每个人都说我们可以使用复制到 API Windows,所以在你的链接中,我在哪里设置文本? @Marcucciboy2
  • 太好了,成功了!! 你是最棒的,谢谢!!

标签: excel vba sendkeys


【解决方案1】:

只是为了将问题标记为已回答,我在 @Marcucciboy2 的帮助下解决了问题,使用此链接 Text To Clipboard in VBA Windows 10 Issue 和此链接 Excel VBA code to copy a specific string to clipboard 将信息复制到我的剪贴板,当我搜索问题是一个错误时当“文件资源管理器”打开时发生,我关闭并且它工作。但我不再使用这个功能了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    相关资源
    最近更新 更多