【问题标题】:Simply trying to paste the same string into a range of cells with Excel VBA只需尝试使用 Excel VBA 将相同的字符串粘贴到一系列单元格中
【发布时间】:2015-12-28 14:13:14
【问题描述】:

我需要将相同的字符串值粘贴到 Excel 电子表格的每一行中。我已经通过我的 vba 代码在循环中定义了字符串:

    StickName = Left(myfile, 9)
    ActiveCell.FormulaR1C1 = StickName

用相同的值填充每一行似乎很简单,我可以通过循环来做到这一点,写入每个单元格直到我到达数据的底行,但必须有一个更优雅的解决方案。有没有办法在我的循环中命名一个范围(这将是单列数据,从行 x 到 y,在我的循环中)并用相同的字符串填充整个范围?然后为循环的每次迭代重新定义范围和字符串值?我搜索了 fill range with value 和其他类似搜索并搜索了答案,但我没有看到任何可以解决我正在尝试做的事情。感谢您的帮助!

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    定义一个范围,然后设置范围的值。

    Dim r As Range
    Dim s As String
    s = "Hello World"
    Set r = Sheets(1).Range("A1:A15")
    r.Value = s
    

    【讨论】:

    • 我在没有声明和设置 r 的情况下使用它。简单代码: Range("A1:A15).Value = s .
    【解决方案2】:

    您不需要任何循环。假设我们想用一些值填充行 711

    Sub liroch()
       Dim StickName As String, myfile As String
    
       myfile = "abcdefghijklmnop"
       StickName = Left(myfile, 9)
       Rows("7:11").Value = StickName
    End Sub
    

    【讨论】:

      【解决方案3】:

      您只能声明变量 StickName 并使用以下代码:

      StickName = Left(myfile, 9)
      Range(Cells(startRow, StartColumn),Cells(LastRow, LastColumn)) = StickName
      

      【讨论】:

      • 这在使用一次 range 时很有用。如果您需要在代码中多次使用范围对象,最好声明范围并使用已声明的变量。
      猜你喜欢
      • 2017-04-18
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多