【问题标题】:Write multiple cells at once in Excel VBA在 Excel VBA 中一次写入多个单元格
【发布时间】:2018-12-15 01:31:00
【问题描述】:

在 Excel VBA 中,我使用一些代码来更新单元格。喜欢:

for i = 1 to 1000
    for j = 1 to 1000
        cells(j,i)=<whatever_different_in_each_cell>
    next
next

有没有办法一次更新所有单元格,而不是单独更新每个单元格?原因是在 Excel 中更新一个单元格非常耗时,而且当单元格很多时,很快就会变得无穷无尽。

【问题讨论】:

  • 查看this link
  • 因为您的单元格彼此相邻,所以 Cointem 指出的数组方法是一种很好的方法。如果您最终跳过地图错误工作表或多个工作表,那么您可能想要执行诸如关闭屏幕更新之类的操作,直到您的代码完成了它需要做的事情。然后在最后重新打开它。
  • Comintern 的解决方案很有魅力,谢谢!!您可能想将其发布为真正的解决方案?

标签: vba excel


【解决方案1】:
Range(<...>).Value = Array (value1, value2, <...>, valueN)

值的个数必须与Range中的单元格个数完全相同,否则,范围将被#VALUE!s填充。

【讨论】:

    【解决方案2】:

    范围(细胞(1,1),细胞(1000,1000))=“随便”

    【讨论】:

    • 谢谢,但括号中的内容表示单元格可能不同。
    【解决方案3】:

    试试这个:

    Sub WriteMultipleCells()
    
    x = "whatever"
    ThisWorkbook.Worksheets("Sheet1").Range("A1:X1") = x
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      相关资源
      最近更新 更多