セル値に基づいて行を非表示にする(Microsoft Excel)
Excelには、セルの内容に基づいてセルの色やその他の属性を変更できる条件付き書式が用意されています。
残念ながら、行内の特定のセルの値に基づいて行を簡単に非表示にする方法はありません。ただし、マクロを使用してセルを分析し、それに応じて行の高さを調整することで、同じ効果を得ることができます。
次のマクロは、ワークシートの最初の100行の特定のセルを調べ、セルの値が5未満の場合はその行を非表示にします。
Sub HideRows() BeginRow = 1 EndRow = 100 ChkCol = 3 For RowCnt = BeginRow To EndRow If Cells(RowCnt, ChkCol).Value < 5 Then Cells(RowCnt, ChkCol).EntireRow.Hidden = True End If Next RowCnt End Sub
マクロに設定されている最初の3つの変数を変更するだけで、異なる開始行、終了行、および列をチェックするようにマクロを変更できます。 For … Nextループ内でチェックされる値を簡単に変更することもできます。
このマクロは行を再表示するのではなく、単に行を非表示にするだけであることに注意してください。変更される可能性のあるセルの内容を確認する場合は、必要に応じて行を非表示または再表示するようにマクロを少し変更することをお勧めします。次のバリエーションでうまくいきます:
Sub HURows() BeginRow = 1 EndRow = 100 ChkCol = 3 For RowCnt = BeginRow To EndRow If Cells(RowCnt, ChkCol).Value < 5 Then Cells(RowCnt, ChkCol).EntireRow.Hidden = True Else Cells(RowCnt, ChkCol).EntireRow.Hidden = False End If Next RowCnt End Sub
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(1940)は、Microsoft Excel 97、2000、2002、および2003に適用されます。