会計士としてのマイクは、行の2つのセルの値に基づいて、ワークシートの行を非表示にする必要があります。彼のデータテーブルには3つの列があり、行の2列目と3列目にゼロが含まれている場合、その行は非表示にする必要があります。列2または3のいずれかが空白であるか、他の値が含まれている場合は、行を非表示にしないでください。

この問題に取り組むには、いくつかの方法があります。 1つは、Excelのオートフィルターを使用することです。次のような数式を含む別の列を作成するだけです:

=AND(B2=0,C2=0)

式によって返される値は、2番目(B)と3番目(C)の両方の列にゼロ値が含まれている場合にのみTrueになります。数式を列内の他の適切なセルにコピーすると、オートフィルターを使用して、その列に基づいてデータをフィルター処理できます。列にFalseを含む行のみを表示すると、列2と3にゼロ値がある行が事実上非表示になります。

マクロを使用して行をチェックアウトすることもできます。次のマクロは、ワークシートの各行を1行目から順に実行します。列Aに何かがある限り、マクロは列BとCにゼロ値があることを確認します。ある場合は、行の.Hiddenプロパティが設定されます。

Sub Hide()

Dim Criteria as Boolean     Dim i As Integer

i = 1     Do Until Trim(Cells(i, 1).Value) = ""          Criteria = True         Criteria = Criteria And (Cells(i, 2).Value = 0) _           And Cells(i, 2).Value <> ""

Criteria = Criteria And (Cells(i, 3).Value = 0) _           And Cells(i, 3).Value <> ""          If Criteria Then Rows(i).EntireRow.Hidden = True         i = i + 1      Loop  End Sub

マクロは、列Aに何もない行に遭遇するまで実行されます。これは、データテーブルの前の行に実際に何かがあることを確認する必要があることを意味します。データテーブルがワークシートの行4から始まり、セルA1からA3に何も含まれていない場合、マクロは十分に実行されません。もちろん、この状況でマクロを調整して、行4のチェックを開始することもできます。 i変数の最初の割り当てを1ではなく4に変更するだけです。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2416)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。