【问题标题】:Cells.value doesn't display any value in a msgBox in VBACells.value 在 VBA 的 msgBox 中不显示任何值
【发布时间】:2018-01-08 02:33:05
【问题描述】:

我是 VBA 新手,我试图在遍历给定列时显示 msgBox 中单元格的值(一个接一个),但消息框不显示值(这些不是空的或“”在工作表中)。

我的代码如下:

For i=2 To workbooks(filename).Worksheets(1).Columns(columnNumber).rows.count
    MsgBox "Cell value is: " & Cells(i, columnNumber).address 
    MsgBox "Cell value is: " & Cells(i, columnNumber).value
Next i

问题是地址正确显示在 MsgBoxes 中,而值却没有。任何帮助将不胜感激。

【问题讨论】:

  • 您确定您指的是正确的工作表吗? (无论如何,地址都是一样的,但当然值可能会有很大的不同)
  • 我说的是正确的工作表,而不是正确的工作簿。 ;) 试试Msgbox Cells(i, columnnumber).worksheet.name
  • 当您输入workbooksrowscountaddressvalue 时,编辑器会自动将它们大写。您是如何创建此代码 sn-p 的?
  • 正如@Rory 所说,在Cells(... 前面尝试放置workbooks(filename).Worksheets(1). 这将确保您使用msgbox 引用正确的工作表。
  • @TonyDallimore:是的,它们在编辑器中大写,这不是问题。回答你的问题:我写的(没有从我的编辑那里复制它)。我现在更正了它们

标签: excel vba


【解决方案1】:

实际上缺少对正确工作簿的引用。感谢罗里的帮助。

正确的代码如下:

For i=2 To Workbooks(filename).Worksheets(1).Columns(columnNumber).Rows.Count
   MsgBox "Cell value is: " & Workbooks(filename).Worksheets(1).Cells(i, columnNumber).Address 
   MsgBox "Cell value is: " & Workbooks(filename).Worksheets(1).Cells(i, columnNumber).Value
Next i

现在它可以完美运行了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2023-04-03
    相关资源
    最近更新 更多