VBA-行を非表示にするためのコード


0

セルの値がアクティブの場合、行が残るスプレッドシートを作成しようとしています。セルの値が非アクティブの場合、行は非表示になります。何かアドバイス?

Excel 2016があります。


(データペインの)自動フィルターは、その列とフィルターを選択して「アクティブ」のみを保持しますか?または、問題を誤解していますか?
アントワーヌ

フィルターを使用したくありません。不要な行を自動的に非表示にするか、ボタンを押したいです。
クリス

不明確.....特定のセルまたは特定の列のセルまたはワークシートのセルをテストしますか?
ゲイリーの学生

セルの値は、数式の結果または入力された値になりますか?
ゲイリーの学生

非アクティブまたはアクティブを示すドロップダウンリストからの行があります。[非アクティブ]が選択されている場合、行を削除せずに非表示にします。理想的には、行は自動的に非表示になりますが、それが可能かどうかはわかりません。
クリスル

回答:


0

ワークシートのコード領域に次のイベントマクロを配置します。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If LCase(Target.Value) = "inactive" Then
        Application.EnableEvents = False
            Target.EntireRow.Hidden = True
        Application.EnableEvents = True
    End If
End Sub

セルが「非アクティブ」になると、その行は非表示になります。 (ユーザーはいつでも手動で元に戻すことができます。)

ワークシートコードであるため、インストールが非常に簡単で、自動的に使用できます。

  1. Excelウィンドウの下部にあるタブ名を右クリックします
  2. [コードの表示]を選択-VBEウィンドウが表示されます
  3. ものを貼り付けて、VBEウィンドウを閉じます

懸念がある場合は、まず試用ワークシートで試してください。

ブックを保存すると、マクロも一緒に保存されます。2003年以降のバージョンのExcelを使用している場合、.xlsxではなく.xlsmとしてファイルを保存する必要があります。

マクロを削除するには:

  1. 上記のようにVBEウィンドウを表示します
  2. コードをクリアする
  3. VBEウィンドウを閉じます

一般的なマクロの詳細については、以下を参照してください。

http://www.mvps.org/dmcritchie/excel/getstarted.htm

そして

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

イベントマクロ(ワークシートコード)の詳細については、以下を参照してください。

http://www.mvps.org/dmcritchie/excel/event.htm

これを機能させるには、マクロを有効にする必要があります!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.