【问题标题】:Paste in Excel sheet using vba without a defined range使用没有定义范围的 vba 粘贴到 Excel 工作表中
【发布时间】:2016-11-22 19:00:47
【问题描述】:

我想做的是从另一个来源 Navision 复制一个表格,然后在 excel 中粘贴它,给它格式等。我在粘贴部分遇到了麻烦。 “复制”过程并不重要,知道如何自动化它会很好,但这不是我的首要任务。

复制的内容:

-来自 Navision 的包含 7 列和可变行的表格

存在的问题:

- 粘贴没有定义行的表格 ✓(感谢 Ionestorm)
- VBA 无法识别剪贴板中的信息

我认为主要问题是:

- 我想它被复制到“外部剪贴板”中,而 vba 无法识别它。

你应该知道我是 VBA 的菜鸟,我只有 C++ 和基本 MySQL 的背景,这是我第一次有兴趣将这些知识应用到日常任务中,让它们变得更容易。我一直在尝试。

我在 VBA 中找到的有关复制粘贴的信息指出,始终需要有一个定义的范围来粘贴它,而本练习没有。而且我只发现了从 excel 表复制粘贴到其他 excel 表的示例。所以我不知道如何开始。

从“外部 Windows”剪贴板粘贴到活动单元格的功能是什么?

【问题讨论】:

  • 您可以使用xlEnd 获取最后一行...
  • 谢谢,这确实解决了部分问题。但是如何定义剪贴板中表格的行?
  • 请注意,复制过程可以自动化。你的问题不够清晰。您应该编辑您的问题以显示您的样本数据是什么、您要传输到哪里以及您期望的输出。
  • 你是对的。我希望编辑使问题更加清晰。

标签: vba excel copy-paste


【解决方案1】:

您不需要定义范围。试试下面的代码:

Sub pasteToRange()
    Dim rng As Range
    Set rng = Application.InputBox("Pick worksheet and cell", "Choose paste range", "A1", Type:=8)
    rng.Worksheet.Paste rng.Cells(1, 1)
End Sub

这允许您手动选择要粘贴的位置,但您可以自动执行该操作。粘贴位使用从剪贴板粘贴的工作表函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    相关资源
    最近更新 更多