使用vba在excel中模拟粘贴操作

时间:2010-09-03 11:28:10

标签: excel excel-vba vba

我正在尝试使用VBA填充excel电子表格(使用COM服务器实际上是不同的,但语法相同)。这是一个生成的报告,我想在Excel中编写格式和演示目的。由于所涉及的技术,CSV出口和其他技术不合规定。

所以,我能够在每个单元格中编写每个值,但是它很慢,所以,我决定一次写一堆值(每次说250条记录)。所以我存储了由回车符分隔的那些值,如果我使用VBA复制/粘贴它,它就可以完美地运行。

问题是,我无法使用剪贴板(因为报告同时执行多次),所以我可以在不使用剪贴板的情况下从Excel中的值列表模拟粘贴操作(或其他类似的操作)吗? / p>

谢谢,

2 个答案:

答案 0 :(得分:1)

我知道在VBA中复制值的最快方法是

Range("destrange") = Range("srcrange")

destrangesrcrange的大小应相同。此外,不会复制格式化数据等。

编辑:这可能是usefull

答案 1 :(得分:1)

您可以创建Variant的数组并将其分配到范围:

  Dim v() As Variant

  ReDim v(1 To 20, 1 To 10)
  'Fill v
  v(5, 5) = 42
  '...

  Range("a1:j20").Value = v