Excelで行を非表示にするVBA(14のメソッド)

  • これを共有
Hugh West

Excel で大規模なデータセットを使用する際、読みやすくするために特定の行を非表示にする必要がある場合があります。 実装方法 VBAマクロ は、Excelであらゆる操作を実行するための最も効果的で、迅速かつ安全な方法です。 この記事では、次の方法を紹介します。 VBAマクロを利用して、Excelの行を異なる基準で非表示にすることができます。

ワークブックダウンロード

練習用Excelワークブックは、こちらから無料でダウンロードできます。

VBAで行を隠す.xlsm

Excelで行を隠すためのVBAによる14の方法

この項では、12種類の方式を ブイビーエー まで 列を隠す 全編を通じて使用する例を以下に示します。

1.Excelで1行を隠すVBAを埋め込む

を希望する場合 一列隠す をもって ブイビーエー のコードを作成し、後述する手順を踏みます。 この例では 5番目を隠す ( 苗字 )をデータセットから抽出した。

ステップス

  • プレス Alt + F11 キーボードから、またはタブで 開発者 -> Visual Basic を開く Visual Basic エディター .

  • ポップアップコードウィンドウで、メニューバーから インサート -> モジュール .

  • 以下のコードをコピーして、コードウィンドウに貼り付けてください。
 Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub 

これであなたのコードは実行できるようになりました。

これです。

  • ワークシート("Single") = を設定します。 ワークシート名です。
  • レンジ("5:5") = パス ごばんめ 内は レンジ メソッドを使用します。

  • プレス F5 をキーボードで入力するか、メニューバーから Run -> Run Sub/UserForm をクリックするだけでもOKです。 スモールプレイアイコン をクリックすると、マクロが実行されます。

下の画像で注目してください。 ごばんめ を実行すると非表示になります。 ブイビーエー のコードになります。

続きを読む エクセルで行を非表示にする公式(7つの方法)

2.エクセルで連続する行を隠すマクロを挿入する

で1行を隠す方法を学びました。 ブイビーエー しかし、もし、あなたが 列を隠す それは れんぞく を使えば、それも可能です。 ブイビーエー をExcelで作成します。 匿う 五行目から七行目まで を、上に示したデータセットから抽出した。

ステップス

  • 先ほどと同じように、開く Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideContiguousRows() Worksheets("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub 

これであなたのコードは実行できるようになりました。

これです。

  • ワークシート("Contiguous") = を設定します。 ワークシート名です。
  • レンジ("5:7") = パス 五行目から七行目まで 内は レンジ メソッドを使用します。

  • 実行 このコードで、次の図をご覧ください。 五行目から七行目まで は、今は隠されています。

続きを読む Excelで行の非表示・非表示を切り替える方法(最も簡単な6つの方法)

3.不連続な行を分離するマクロを埋め込む

今回は、以下の方法を学びます。 列を隠す エクセルで 非連続 をもって ブイビーエー 今回のデータセットでは、以下のようなコードになります。 匿う 五行、六行、八行、九行 を以下に示します。

ステップス

  • 先に示したように、オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub 

これであなたのコードは実行できるようになりました。

これです。

  • ワークシート("非連続") = を設定します。 ワークシート名です。
  • レンジ("5:6, 8:9") = パス 五行目から六行目 8〜9 内は 範囲 メソッドを使用します。

  • 実行 このコードを見て 五行から六行 8〜9 は、次の写真に隠されています。

続きを読む エクセルで行を非表示にする方法(効果的な6つの方法)

4.エクセルで文字列を含む行をすべて隠すマクロ

を希望する場合 テキストを含むすべての行を非表示にする の値が表示されたら、以下の手順に従ってください。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideAllRowsContainsText() LastRow = 1000 'データセットが1000行あるとする For i = 1 To LastRow '各行をループして必要な条件をチェック 'テキストデータがある行をすべて非表示にする If IsNumeric(Range("C" & i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub 

これであなたのコードは実行できるようになりました。

これです。

  • IsNumeric(Range("C" & i)) = 私たちのデータセットのデータは、以下のところから始まります。 C列に表示されます。 ということで C 内は レンジ メソッドを使用します。

  • 実行 このコードを見て、あなたは気づくでしょう。 全段 であった。 にゅうしゅつりょく の値が非表示になりました。

続きを読む エクセルで複数行の非表示を解除する方法(9つの方法)

5.Excelで数字を含むすべての行を隠すマクロ

そして、もし隠したいのであれば 数値を含むすべての行 をもって ブイビーエー コードを入力し、以下の手順に従ってください。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideAllRowsContainsNumbers() LastRow = 1000 'データセットが1000行あるとします For i = 4 To LastRow '各行をループして必要な条件をチェック 'データが4行目から始まるので i = 4 としました '数値データがある行を全て隠すために If IsNumeric(Range("C" & i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub 

これであなたのコードは実行できるようになりました。

これです。

  • IsNumeric(Range("C" & i)) = 私たちのデータセットのデータは、以下のところから始まります。 C列に表示されます。 ということで C 内は 範囲 メソッドを使用します。

  • 実行 このコードに注目してください。 全段 であった。 数値入り が非表示になりました。

続きを読む エクセルで1列を基準にして重複した行を隠す(4つの方法)

6.エクセルでゼロ(0)を含む行を非表示にするマクロ

である特定の列の行だけを隠したい場合を考えてみましょう。 保0(ゼロ) 次のデータセットを見てください。 E列 ホールド 0件 7列目 10列目82名 を学んでいきます。 0を保持している行のみ隠す ( 7列目 ) を使っています。 ブイビーエー をExcelで表示します。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideRowContainsZero() LastRow = 1000 'データセットが1000行あるとします For i = 4 To LastRow '各行をループして必要な条件をチェック 'データが4行目から始まるので i = 4 としました 'E列に0を含む行を隠すには If Range("E" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next End Sub 

これであなたのコードは実行できるようになりました。

  • 実行 このコードを見て、行( 7列目 を含んでいた)。 0 において E列 が非表示になったのに対し 10行目 持ち運び 82 は非表示になります。

続きを読む エクセルVBAで空白行を非表示にする方法(4つの便利な方法)

7.Excelで負の値を持つ行を隠すマクロの実装

同じ列の0を含む行を隠すことができるのと同じように 負の値を保持する行を隠す というデータセットがある。 E列 には負の値と正の値の両方が含まれているので、負の値だけを隠すコードを見てみましょう。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideRowContainsNegative() LastRow = 1000 'データセットが1000行あるとします For i = 4 To LastRow '各行をループして必要な条件をチェックします 'データが4行目から始まるのでi = 4とします 'E列に負の値を含む行を隠すためです If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

これであなたのコードは実行できるようになりました。

  • 実行 このコードに注目してください。 7列目 を含んでいた。 負値(-10) において E列 が非表示になったのに対し 10行目 持ち運び 82 は非表示になります。

8.Excelで正の値を含む行を隠すVBAを埋め込む

今回は、以下のようなデータセットで行いました。 E列 が両方ともゼロの正の値を含んでいることを確認します。 ブイビーエー コード化 プラスだけを隠す .

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、次のコードをコピーして貼り付けます。
 Sub HideRowContainsPositive() LastRow = 1000 'データセットが1000行あるとする For i = 4 To LastRow '各行をループして必要な条件をチェックする 'データが4行目から始まるので i = 4 とした 'E列に正の値を含む行を隠すため If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

これであなたのコードは実行できるようになりました。

  • 実行 このコードに注目してください。 7列目 を含んでいた。 正値(55) において E列 が非表示になったのに対し 10行目 持ち運び 0 は非表示になります。

続きを読む Excelでセルの値に基づいて行を非表示にするVBA(14例)

9.エクセルで奇数を含む行を非表示にするマクロ

することができます。 奇数列を隠す この記事の冒頭で紹介した例でいえば E列 は、奇数と偶数の両方を保持しています。 七・十列 のコードを学びます。 列の非表示 持ち 奇数 だけです。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideRowContainsOdd() LastRow = 1000 'データセットが1000行あるとする For i = 4 To LastRow '各行をループして必要な条件をチェックする 'データが4行目から始まるので i = 4 とした 'E列に正の値を含む行を隠すため If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) Mod 2 = 1 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

これであなたのコードは実行できるようになりました。

  • 実行 このコードを見てみると 7列目 を含んでいた。 奇数 において E列 が非表示になったのに対し 10行目 を持っていること 偶数 は非表示になります。

10.エクセルで偶数の数字を含む行を非表示にするVBA

同様に 偶数行を隠す この記事の冒頭で紹介した例でいえば F列 は、奇数と偶数の両方を保持しています。 七・十列 のコードを学びます。 列の非表示 持ち ちょうすう だけです。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideRowContainsEven() LastRow = 1000 'データセットに1000行あるとします For i = 4 To LastRow '各行をループして必要な条件をチェックします 'データが4行目から始まるのでi = 4とします 'F列に正の値を含む行を隠すためです If IsNumeric(Range("F" & i)) = True Then If Range("F" & i) Mod 2 = 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

これであなたのコードは実行できるようになりました。

  • 実行 このコードを見てみると 7列目 を含んでいた。 偶数 において F列 が非表示になったのに対し 10行目 を持っていること 奇数 は非表示になります。

続きを読む Excel VBA:エクセルですべての行の非表示を解除する(5つの実践例)

11.条件より大きい行を非表示にするマクロの挿入

することができます。 より大きい行を隠す で特定の値を指定します。 ブイビーエー Excelから行を非表示にするとします。 E列 ここで、その値は 八十 .その方法をご紹介します。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideRowContainsGreater() LastRow = 1000 'データセットが1000行あるとします For i = 4 To LastRow '各行をループして必要な条件をチェックします 'データが4行目から始まるのでi = 4とします 'E列に正の値を含む行を隠すためです If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

これであなたのコードは実行できるようになりました。

  • 実行 このコードを見てみると 10行目 を含んでいた。 82 (80より大きい)の E列 が非表示になったのに対し 7列目 持ち運び 55 は非表示になります。

続きを読む Excelの条件付き書式設定でセルの値に基づいて行を隠す

12.エクセルで特定条件以下の行をカバーするマクロを埋め込む

も可能です。 より小さい行を隠す で特定の値を指定します。 ブイビーエー Excelから行を非表示にするとします。 E列 ここで、その値は 八割弱 .その方法をご紹介します。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideRowContainsLess() LastRow = 1000 'データセットが1000行あるとします For i = 4 To LastRow '各行をループして必要な条件をチェックします 'データが4行目から始まるのでi = 4とします 'E列に正の値を含む行を隠すためです If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

これであなたのコードは実行できるようになりました。

  • 実行 このコードを見てみると 7列目 を含んでいた。 55 (80未満である)で E列 が非表示になったのに対し 10行目 即ち キャリング82 は非表示になります。

13.マクロでセルの文字列の値から行を隠す

を希望するとします。 特定のテキストを保持する行を非表示にする この例では、" "という単語を含む行を例にとります。 化学 ", 6行目 その行を非表示にするためのコードを提供します。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideRowCellTextValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "Chemistry "その後Cells(i, iCol).EntireRow.Hidden=Falseエルセ氏Cells(i, iCol).EntireRow.Hidden=True End If Next i End Sub 

これであなたのコードは実行できるようになりました。

これです。

  • StartRow = 4 -> 1段目 データセットの
  • LastRow = 10 -> 最後の行 データセットの
  • iCol = 4 ->です。 カラムアドレス その は、テキストを保持します。 の値を設定します。

  • 実行 このコードに注目してください。 六番煎じ という単語で構成されています。 化学 " が隠されています。

14.Excelでセルの数値に基づいて行を非表示にするマクロ

前回は、セルのテキスト値に基づいて行を非表示にする方法を説明しました。 値は数値 この例では、数値" "を含む行を例に説明します。 87 ", 7列目 その行を非表示にするためのコードを提供します。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub HideRowCellNumValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "87" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub 

これであなたのコードは実行できるようになりました。

これです。

  • StartRow = 4 -> 1段目 データセットの
  • LastRow = 10 -> 最後の行 データセットの
  • iCol = 4 ->です。 カラムアドレス その は、テキストを保持します。 の値を設定します。

  • 実行 このコードに注目してください。 7列目 という数値で構成される。 87 " が隠されています。

続きを読む Excelでセルの値に基づいて行を非表示にする方法(5つのメソッド)

結論

この記事では、以下の方法を紹介しました。 列を隠す をエクセルで表示します。 ブイビーエー この記事が皆様のお役に立てれば幸いです。 また、ご質問等ございましたら、お気軽にお問い合わせください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。