【问题标题】:Trying to loops through multiple cells in VBA尝试循环遍历 VBA 中的多个单元格
【发布时间】:2016-05-16 18:03:02
【问题描述】:

我在网上搜索并找到了一些解决方案,但没有一个对我有意义。我想知道为什么这特别不起作用:

Dim rng As Range: Set rng = Range("A5:A10")
    For Each cell In rng
        Dim contents As String: contents = ThisWorkbook.Sheets("ROI's").Range("cell").Value
        MsgBox (contents)
    Next cell

(顺便说一句,这是在一个更大的宏中)

一直说错误在第三行

【问题讨论】:

  • "cell" 更改为cell.address(0,0)
  • @ScottCraner - 你也可以...contents = cell.Value吗?
  • 虽然在设置 rng 时定义工作表会更好,Set rng = ThisWorkbook.Sheets("ROI's").Range("A5:A10") 然后contents = cell.Value
  • @BruceWayne 看到我的第二条评论。
  • @BruceWayne 个人喜好,我个人不喜欢,但这就是我。

标签: vba excel loops for-loop


【解决方案1】:

除了Scott Craners 答案之外,在MsgBox (contents) 中将括号从contents 周围移开,您没有将其放入变量中,因此不应将其括起来。

【讨论】:

    【解决方案2】:
    Sub try2()
    
    
    Dim rng As Range
    Dim cell As Range
    Dim contents As String
    Dim ws As Worksheet
    
    Set ws = Worksheets("Sheet1")
    Set rng = Range("A1:A10")
    
    For Each cell In rng
        contents = ws.Range(cell.Address(0, 0)).Value
        MsgBox (contents)
        Next cell
    
    End Sub
    

    我一直在练习有关 VBA 的各种问题...以上只是一个 sn-p 综合我上面所有优秀的人所说的关于使这项工作的内容。我的 2 美分,括号里面的内容变量还是不用,结果是一样的。

    【讨论】:

      猜你喜欢
      • 2021-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-05
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多