excel - 消息框显示Excel VBA中多列的值

标签 excel vba

共有三列。一列有一些表名称,第二列有其可用空间,第三列有已使用的百分比。

需要的帮助是:

  1. Msgbox 应在它找到的超过 90 的单元格中显示 PERCENTAGE USED 列的值。
  2. 此外,它还应显示相应表的名称以及在第一步中显示其值的表的可用空间。

msgbox 输出应该是: “ABCD 表已使用 96.67%,剩余空间为:7431MB”

仅显示表名称和使用百分比的示例代码:

Dim rngValues As Range
Dim strTableName As String
Dim cell As Range

 ' Adjust ranges to suit
 Set rngValues = [JI3:JI90]
For Each cell In rngValues
       If cell.Value > 94.45 Then
       cell.Select

       MsgBox Range(cell.Address).Offset(0, -268).Value _
       & " table has current size: " & cell.Value
       cell.Interior.Color = RGB(255, 0, 0)

       End If

此代码的示例输出:ABCD 表的当前大小:97.87%

最佳答案

解决此问题的一种方法是使用第二个 Range(cell.Address).Offset().Value 语句将附加信息附加到消息框显示的文本中。确切的代码将取决于显示剩余可用空间的列距“JI”列有多少列。

假设它是包含所使用的 % 空间的列之前的列,您可以执行以下操作:

  MsgBox Range(cell.Address).Offset(0, -268).Value _
   & " table has current size: " & cell.Value _
  & " and the space left is: " & Range(cell.Address).Offset(0, -1).Value

如果它不是包含所使用的 % 空间的列之前的列,您只需调整 Range(cell.Address).Offset(0,-1).Value 中的列偏移量适本地。例如,如果包含可用空间的列出现在 JI 列之后的 9 列,请将偏移量更改为 Offset(0,9)

Offset 括号中的第一个参数是行数,第二个参数是列数。负偏移指定出现在所选单元格之前的行或列,正偏移指定出现在所选单元格之后的行或列。 “0”指定当前行或列。

关于excel - 消息框显示Excel VBA中多列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14433699/

相关文章:

excel - 在 2019 年 8 月 Windows 更新之前将对象数组发送到变体可以正常工作,但更新后会失败

通过 Excel/VBA 调用的 DLL 中的 C++ 函数在传递双参数时生成异常

c# - NPOI 文件损坏

vba - 返回起始工作表

excel - 非 Web SQL 注入(inject)

excel - 编译错误: loop without do. But Do is in the code what is wrong?的代码

java - 如何使用 jxl 检查 Excel 文件是否受密码保护

database - 循环 Access Access 数据库中的文本框

excel - 删除所有完全空白的行

vba - 每次运行具有不同行数和列数的宏