【问题标题】:Pasting the same value quickly over a row在一行上快速粘贴相同的值
【发布时间】:2016-09-15 14:48:29
【问题描述】:

一个非常简单的问题,但由于某种原因,我的大脑冻结了。我在一行的开头有一个单独的值,并希望将此值复制并粘贴到接下来的 300 个单元格中。为了论证起见,假设“A:1”并且值为 1。我们希望看到“A:1”到“A:301”充满了(或我们选择的任何其他值)......我该怎么做这没有循环遍历每个单元格,这样的循环将是:

   If Not IsEmpty(Sheets("Sheet1").Range("A1")) Then
   Sheets("Sheet1").Range("A1").Copy
   For k = 2 To 301
   Sheets("Sheet1").Cells(1, k).PasteSpecial xlPasteValues
   Next
   Application.CutCopyMode = False
   End If

如果只有 300 个单元格,则循环可能是可以接受的,但对于任何更大的单元格,这都会变得太慢。请帮忙?!?!

非常感谢。

【问题讨论】:

    标签: excel loops copy-paste vba


    【解决方案1】:

    就这一行:

    Sheets("Sheet1").Range(Sheets("Sheet1").Cells(1, 2),Sheets("Sheet1").Cells(1, 301)).value = Sheets("Sheet1").Range("A1").Value
    

    或者您可以使用With 块并减少输入量:

    With Sheets("Sheet1")
        .Range(.Cells(1, 2),.Cells(1, 301)).value = .Range("A1").Value
    End With
    

    【讨论】:

    • 老板干杯。谢谢
    【解决方案2】:

    无需复制和粘贴 - Range("A1:A300").Value = Range("A1").Value 会这样做

    【讨论】:

      【解决方案3】:

      也许:

      Sub dural()
          With Sheets(1)
              .Range("B1:KO1").Value = .Range("A1").Value
          End With
      End Sub
      

      【讨论】:

        猜你喜欢
        • 2014-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多