【エクセルマクロ】入力規則で2列表示し片方入力:自動化で作業効率アップ

ExcelVBA-入力規則2列表示-アイキャッチ エクセルマクロで効率化する

エクセルマクロで、入力規則のリストを2列表示し片方のデータを入力するVBAコードをご紹介します。

イベントを使用します。

このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。

入力規則で2列表示し片方入力

以下のExcelVBAを実行すると、2列分の入力規則から任意の値を転記します。


Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Mylist As Variant
    Dim i As Long
    
    If Intersect(Target, Range("A2:A6")) Is Nothing Then
    
        'セル変更が指定範囲ではなければ終了
        Exit Sub
    Else
        
        'セルが空欄じゃなければ
        If Cells(Target.Row, Target.Column).Value <> "" Then
    
            'セルC1:E11を配列格納
            Mylist = Range(Cells(1, 3), Cells(11, 5))
            
            '配列ループ
            For i = 1 To UBound(Mylist)
                
                'セル変更した値が、配列 Mylist(i, 3) と一致していたら
                If Cells(Target.Row, Target.Column).Value = Mylist(i, 3) Then
                
                    'セルの値を書き換える
                    Cells(Target.Row, Target.Column) = Mylist(i, 1)
                End If
            Next i
        End If
    
    End If
End Sub

 

マクロ実行前

E列の値をもとに、ドロップダウンリストを設定しておきます。

E列は、C列とD列を結合した値を計算式で表示します。


 

A列の入力規則の表示状態です。


 

マクロ実行後

入力規則から値を選択すると、片側の値のみ表示します。


 

イベント機能を利用して、A列で値を選択すると同時に、値を書き換えています。


 
 

マクロコードを記述する場所は?

「Sheet1」シート内でイベントを発生させるためには、

VBE画面にて「Sheet1」シートにマクロコードを記述します。


 

この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】入力規則を自動操作する:超便利7選
...

>>【100万人以上が使う】タスク管理ツール「Backlog」の無料トライアルをする