有三列。一个有一些表的名称,第二列有自由空间,第三列有百分比。
需要帮助的是:
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%
答案 0 :(得分:2)
解决此问题的一种方法是使用第二个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'指定当前行或列。