共有三列。一列有一些表名称,第二列有其可用空间,第三列有已使用的百分比。
需要的帮助是:
- Msgbox 应在它找到的超过 90 的单元格中显示 PERCENTAGE USED 列的值。
- 此外,它还应显示相应表的名称以及在第一步中显示其值的表的可用空间。
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/