2

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

需要的帮助是:

  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%

4

1 回答 1

2

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

假设它是包含 % space used 您可以执行以下操作的列之前的列:

  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' 指定当前行或列。

于 2013-01-21T07:22:21.770 回答