2

3 つの列があります。1 つはテーブルの名前、2 番目の列は空き領域、3 番目の列は使用率です。

必要なヘルプは次のとおりです。

  1. Msgbox は、90 を超えるセルの PERCENTAGE USED 列の値を表示する必要があります。
  2. また、対応するテーブルの名前と、ステップ 1 で値を表示しているテーブルの空き領域も表示する必要があります。

msgbox の出力は次のようになります。

テーブル名と使用率のみを表示するサンプル コード:

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

この問題を解決する 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 の括弧内の最初の引数は行数で、2 番目の引数は列数です。負のオフセットは、選択したセルの前に表示される行または列を指定し、正のオフセットは、選択したセルの後に表示される行または列を指定します。'0' は現在の行または列を指定します。

于 2013-01-21T07:22:21.770 に答える