メインコンテンツへスキップ

Excelでのユーザー入力に基づいてリアルタイムで列を非表示にする方法は?

Excel で列を非表示にすることは、ほとんどの人にとって一般的なタスクかもしれませんが、特定の入力値に基づいて列を自動的に非表示にしようとしたことがありますか? たとえば、セルにテキスト「AA」を入力すると、列 A が非表示になります。 「BB」と入力すると、列 B と C が非表示になります。 「CC」を入力すると、列 D と E が非表示になります。 「DD」と入力すると、以下のデモのように列 F が非表示になります。 この記事では、Excel で解決するための VBA コードを作成します。

VBA コードを使用したユーザー入力に基づいて、リアルタイムで列を非表示または再表示します

列を非表示または再表示して、VBA コードを使用したユーザー入力に基づいてデータをフィルター処理する


VBA コードを使用したユーザー入力に基づいて、リアルタイムで列を非表示または再表示します

入力値に基づいて特定の列をリアルタイムで非表示にするには、次の VBA コードを適用してください。

1. 列を非表示にするワークシートで、シート タブを右クリックし、 コードを表示 コンテキストメニューから、スクリーンショットを参照してください

2。 オープンで アプリケーション向け Microsoft Visual Basic ウィンドウで、次の VBA コードをコピーして シート(コード) 窓。

VBA コード: ユーザー入力に基づいてリアルタイムで列を非表示にする

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
Note:上記のコードでは、 K1 は特定のテキストを入力するセルであり、必要に応じてテキストと列名を変更する必要があります。 さらに、以下のスクリプトを追加するだけで、他の新しい基準を追加できます。
  • ケース "AA": Columns("A").EntireColumn.Hidden = False
  • Columns("A").EntireColumn.Hidden = True

3. 次に、コード ウィンドウを閉じます。 ここで、セル K1 に「AA」と入力し、 入力します キー、列 A は非表示です。 し、 を押す 入力します キー、列 B と C は非表示になります。 他の値を入力するか、コンテンツを削除すると、非表示の列がすぐに表示されます。以下のデモを参照してください。


列を非表示または再表示して、VBA コードを使用したユーザー入力に基づいてデータをフィルター処理する

この例では、入力した製品名に基づいてデータ範囲をフィルター処理します。 「Hoodie」と入力すると、Hoodie の情報のみが表示され、他の列はすぐに非表示になります。 「All」と入力すると、以下のデモのようにすべての列が表示されます。

1. 列を非表示にするワークシートで、シート タブを右クリックし、 コードを表示 コンテキストメニューから、スクリーンショットを参照してください。

2。 オープンで アプリケーション向け Microsoft Visual Basic ウィンドウで、次の VBA コードをコピーして シート(コード) 窓。

VBA コード: 列を非表示または再表示して、ユーザー入力に基づいてデータをフィルター処理する

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
    Dim x As Variant, y As String
     If Target.Address = "$K$1" Then
        y = Target.Value
        With Range("B1:H1")
            Application.ScreenUpdating = False
            .EntireColumn.Hidden = (y <> "All")
            If y <> "All" Then
                For Each x In .Cells
                    If x = y Then x.EntireColumn.Hidden = False
                Next
            End If
            Application.ScreenUpdating = True
        End With
    End If
End Sub
Note:上記のコードでは、 K1 特定のテキストを入力するセルです。 B1:H1 フィルタリングする製品名を含む行ヘッダーです。

3. 次に、コード ウィンドウを閉じます。 ここで、セル K1 に製品名を入力すると、対応する列のみが表示され、他の列は非表示になります。 「All」というテキストを入力すると、すべての列が以下のデモのように表示されます。

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

人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト 工具 (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 工具 (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 工具 (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット 工具 (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

kteタブ201905


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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations