Note: The other languages of the website are Google-translated. Back to English

列に空白のセルがある場合、行を自動的に非表示にするにはどうすればよいですか?

列の一部の空白セルにデータを入力する範囲のデータがある場合、その列の空白セルを含む行を自動的に非表示にします。 Excelでこの仕事をすばやく簡単に解決する良い方法はありますか?

VBAコードを含む列の空白セルの場合、行を自動的に非表示にします


矢印青い右バブル VBAコードを含む列の空白セルの場合、行を自動的に非表示にします

次のコードは、特定の列の空白セルが一度にすべての行を非表示にするのに役立つ場合があります。その列のセルコンテンツを削除すると、行も自動的に非表示になります。 次のようにしてください。

1。 列に空白のセルがある場合に行を自動的に非表示にするシートタブを右クリックし、を選択します。 コードを表示 コンテキストメニューから、ポップアウトで アプリケーション向け Microsoft Visual Basic ウィンドウの場合は、次のコードをコピーして空白に貼り付けてください モジュール:

VBAコード:列に空白のセルがある場合、行を自動的に非表示にします。

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("A1:A20")
            If xRg.Value = "" Then
                xRg.EntireRow.Hidden = True
        
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub

doc自動非表示行1

注意:上記のコードでは、 A1:A20 自動非表示にする空白のセルを含むデータリストです。

2。 次に、ワークシートに戻り、セルをダブルクリックしてを押します。 入力します キーを押すと、列Aの空白のセルを含む行が一度に非表示になり、列Aの指定したセルのセルの内容をクリアすると、行が自動的に非表示になります。

doc自動非表示行2

 


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部

 

コメントを並べ替える
コメント (32)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、私はExcel 2016を使用していますが、機能していません。 sintaxエラーメッセージが表示されます。 手伝ってくれますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、アント、

上記のコードは私のExcel2016でうまく機能しますが、コードのセル参照を必要に応じて変更しましたか?
このコメントは、サイトのモデレーターによって最小化されました
実行時エラー「13」が発生します:



タイプの不一致



助けることができる誰か?
このコメントは、サイトのモデレーターによって最小化されました
Enterキーを押した後、このマクロの自動実行を停止できますか? クリックしたときにのみセルを非表示にするボタンにアタッチできますか?
このコメントは、サイトのモデレーターによって最小化されました
誰かがこれを理解したことがありますか? 私も知りたいです。
このコメントは、サイトのモデレーターによって最小化されました
誰かがまだ答えを思い付きますか?
このコメントは、サイトのモデレーターによって最小化されました
ここに同じ質問
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、みんな、
ボタンを使用して特定の列に空白のセルが含まれている行を非表示にするには、次のようにします。
まず、[開発者]タブからコマンドボタンを挿入する必要があります。
次に、コマンドボタンに次のVBAコードを適用します(注:セル参照a1:a20を独自のものに変更してください)

プライベートサブCommandButton1_Click()
Dim rng As Range、x As Range
rng = Range( "a1:a20")を設定します
Application.ScreenUpdating = False
各xInrng
Len(x.Text)=0の場合
x.EntireRow.Hidden = True

x.EntireRow.Hidden = False
終了する場合
次のx
Application.ScreenUpdating = True
End Subの

それを試してみてください、それがあなたを助けることができることを願っています!
このコメントは、サイトのモデレーターによって最小化されました
VBAコードで2つの異なる列の空白セルの場合に行を自動的に非表示にする方法
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、サルペ、
2つの異なる列の空白セルが自動的に行を非表示にするには、次のコードを適用してください。

プライベートサブワークシート_Change(ByValターゲットを範囲として)
Dim xRg、xCell As Range
Dim xRgs、xRgArea As Range
xRgs = Range( "A1:A22、D1:D22")を設定します
Application.ScreenUpdating = False
エラー時GoToCtn
xRgs.Areasの各xRgAreaに対して
Debug.Print xRgArea.Address
xRgArea.Columnsの各xRgについて
xRg.Rowsの各xCellについて
xCell.Value=""の場合
xCell.EntireRow.Hidden = True
GoTo Ctn
ElseIf Not xCell.EntireRow.Hidden Then
xCell.EntireRow.Hidden = False
終了する場合
Ctn:
次へ
次へ
次へ
Application.ScreenUpdating = True
End Subの

必要に応じてセル参照を変更できます。
ぜひお試しください!
このコメントは、サイトのモデレーターによって最小化されました
بسماللهوجزاكماللهخيراهذاالكودرائعولكنحينقمتبتطبيقكودحذفالصفيبطأالشيتبطريقةطويل
このコメントは、サイトのモデレーターによって最小化されました
数式の結果としてセルが空白の場合、コードが機能するかどうかを知りたいですか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ACHINTA、
上記のVBAコードは、数式の結果として空白のセルにも適用されます。試してみてください。ありがとうございます。
このコメントは、サイトのモデレーターによって最小化されました
この数式は、最初は情報に基づいてセルを非表示にするように機能しますが、内容が変更された場合にセルを再表示することはありません。 情報で満たされた新しいセルを明らかにしたい(セルルックアップを介して発生する)。 どうすればよいですか?
このコメントは、サイトのモデレーターによって最小化されました
Bom dia, esta é minha necessidade também.

Preciso ocultar e quando a célula for preenchida (uso uma fórmula que preenche a mesma se houver valor em outra planilha) seja reexibida a linha novamente de forma automática.

感謝。
このコメントは、サイトのモデレーターによって最小化されました
私が欲しいのは、アクティブシートで機能する次のようなものです。

セルD2:D55=""の場合
次にHide.EntireRow

セルD2:D55="に値がある"の場合
次にShow.EntireRow

方法は?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、カチャ、コード内のセル参照を以下のように独自のセル範囲に変更する必要があります。 Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
範囲としての薄暗いxRg
Application.ScreenUpdating = False
範囲内の各xRg( "D2:D55")
xRg.Value=""の場合
xRg.EntireRow.Hidden = True


xRg.EntireRow.Hidden = False
終了する場合
次のxRg
Application.ScreenUpdating = True
サブの終了コードを挿入した後、任意のセルをダブルクリックし、Enterキーを押してコードを有効にすることを忘れないでください。
このコメントは、サイトのモデレーターによって最小化されました
自動非表示を元に戻す最も簡単な方法は何ですか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、mìnhcódùng2code trong 1 file excel(1codelàcủabạn)vớimụcđíchinranhữngbảnriêngbiệtvàkhôngbịthừadòngtrống Khimìnhấnintừngbảnthìoknhưngnếuint1loạtthìコードHidekhôngcótácdụng、bạnxemgiúpmìnhvớinhé、mìnhc

サブPRINT_PRINT()
Dim rng As Range、x As Range
rng = Range( "a16:a23")を設定します
Application.ScreenUpdating = False
各xInrng
Len(x.Text)=0の場合
x.EntireRow.Hidden = True

x.EntireRow.Hidden = False
終了する場合
次のx
Application.ScreenUpdating = True


薄暗いp1、p2、i&
p1 = Sheet1.Range( "O1")。Value
p2 = Sheet1.Range( "O2")。Value
IsNumeric(p1)= FalseまたはIsNumeric(p2)=Falseの場合
tb = MsgBox( "So code phai laso。",,"Thôngbáo")
サブを終了
終了する場合
p1>p2の場合
tb = MsgBox( "So code sau phai> = so codetruoc。",,"Thôngbáo")
サブを終了
終了する場合
p1<1またはp2<1の場合
tb = MsgBox( "So code phai> =1。",,"Thôngbáo")
サブを終了
終了する場合
p1<=p2の場合
i=p1からp2の場合
Sheet1.Range( "M2")。Value = i
Sheet1.PrintOut
次へ
終了する場合
End Subの
このコメントは、サイトのモデレーターによって最小化されました
Hola、Necesito crear una macro que me oculte unacolumna.Seríaasí:en laprimera fila poner un 1 a las columnas que no quiero ocultarynoponerningúnvaloralascolumnas quequieroocultar。 Estoy haciendo elsiguientecódigo、pero no se en que fallo:
サブOcultarColumnaSin1()
Application.ScreenUpdating = False
列の各ランゴについて
ランゴの場合=""その後
rango.EntireColumn.Hidden = True

rango.EntireColumn.Hidden = False
終了する場合
次のランゴ
Application.ScreenUpdating = True
End Subの
このコメントは、サイトのモデレーターによって最小化されました
これは私にとってはうまく機能しています。数式に基づいて値が変更されると、行が非表示になり、開きます。 私が持っている質問は、私のシートが104行の長さであるということです。 セルをクリックするたびに少しチャーンします。 アクティブ化されたときに遷移を高速化する方法はありますか? それとも私のコンピューターですか?ありがとう!
このコメントは、サイトのモデレーターによって最小化されました
列Eが空白または0の場合、行を自動的に非表示にしたい
このコメントは、サイトのモデレーターによって最小化されました
列Eの値が空白または0の場合、行を自動的に非表示にします。 Eの値が空白または0以外に変更された場合は、表示したいと思います。 レポートは1500行です
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、キャシー、
空白のセルまたは0の値に基づいて行を自動的に非表示にするには、次のvbaコードを使用してください。
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("E1:E1500")
            If (xRg.Value = "") Or (xRg.Value = "0") Then
                xRg.EntireRow.Hidden = True
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub


ぜひお試しください。お役に立てば幸いです。
このコメントは、サイトのモデレーターによって最小化されました
チェックボックスを含む行を非表示にする方法は?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、スウェタ

チェックボックスで行を非表示にするには、以下の記事が役立つ場合があります。
行がExcelで非表示になっているときにチェックボックスを非表示にする方法は?

他に質問がある場合は、ここにコメントしてください。
このコメントは、サイトのモデレーターによって最小化されました
Office 2013/2019/2021 でコードを実行すると動作しますが、完了するまでに時間がかかりすぎます (非表示にするのに 95 行のみ)。
どうすればこれを高速化できますか?
ありがとうございます!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、アサフさん。
コードは私の Excel ファイルでうまく機能します。差し支えなければ、添付のワークブックをここにアップロードしていただけますか? そのため、問題を確認するのに役立ちます。

ありがとうございました!
このコメントは、サイトのモデレーターによって最小化されました
apakah ada rumus lain?, saya berharap baris kosong itu akan terhapus saat mencetak file menjadi PDF タピ タンピラン ディ エクセルニア テタップ
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ヌルジャナ
問題を解決するには、最初に空白行を非表示にしてからデータを印刷する必要があります。データを印刷した後、空白行を再度表示する必要があります。 このようにしてください:
1. 次の数式を適用します: =COUNTA(A2:E2) データの横に、スクリーンショットを参照してください:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-1.png
2.次に、新しいヘルパーの空白列をフィルタリングし、値が 0 の行をすべて非表示にします。スクリーンショットを参照してください。
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-2.png
3. 次に、新しい空白列を非表示にしてデータを印刷する必要があります。ワークシートを印刷した後、必要に応じてフィルターをキャンセルして空白行を再表示してください。
ぜひお試しください。お役に立てば幸いです。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、マクロの「自動化」に問題があります。 マクロを「手動で」実行する必要なく、コードが自動化されたプロセスとして機能する方法を探しています。 あなたのコードを使用する際の問題を見つけたため、私はあなたのコードの独自のバリアントを使用しています。 これは私の変種です:

サブ HideRows()
範囲としての薄暗いxRg
Application.ScreenUpdating = False
For each xRg In Range("A3:A800")
If (xRg.Value = "") その後
xRg.EntireRow.Hidden = True

xRg.EntireRow.Hidden = False
終了する場合
次のxRg
Application.ScreenUpdating = True
End Subの

絶え間なく変化する値を必要とするスプレッドシートを作成しようとしているため、本物の「自動化された」プロセスが必要になります。 私は VBA に比較的慣れていません。あなたのコードが実際に既に私の要件を満たしている場合、VBA での適用を手伝ったり教えたりしていただけませんか? ありがとう。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ヴィアン
実際、この記事のコードは自動的に実行できます。
コードをコピーして現在のワークシートのコード モジュールに貼り付けてから、ワークシートに戻り、任意のセルをダブルクリックして、 入力します キー、空白セルを含む行が直接非表示になります。

この記事の方法を順を追って実行してください。お役に立てば幸いです。
ありがとうございました!
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護