【エクセルマクロ】隣のセルに値を自動入力する(動画あり)

ExcelVBA-隣のセルに入力-アイキャッチ ExcelVBA

エクセルマクロで、隣のセルに値を自動入力するVBAコードをご紹介します。

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

隣のセルに値を自動入力

以下のExcelVBAを実行すると、隣のセルに特定文字を自動的に入力します。


Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column = 1 Then

        With Cells(Target.Row, Target.Column)
    
            '北海道だったら
            If .Value = "北海道" Then
    
                '右隣に指定値を入力
                .Offset(0, 1) = "じゃがいも"
    
            '静岡県だったら
            ElseIf .Value = "静岡県" Then
    
                '右隣の指定値を入力
                .Offset(0, 1) = "お茶"
    
            End If
        End With
    End If

End Sub

マクロ実行前


 

マクロ実行後

A列に文字入力すると、隣のB列に指定文字を自動入力します。

A列に「北海道」と入力すると同時に、B列に「じゃがいも」と自動入力します。


 

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

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

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


 
 

隣のセルに値を自動入力(配列使用)

以下のExcelVBAを実行すると、隣のセルに特定文字を自動的に入力します。


Private Sub Worksheet_Change(ByVal Target As Range)

Dim a  As Variant
Dim b  As Variant
Dim i As Long

    '配列に値格納
    a = Array("北海道", "静岡県", "山形県")
    b = Array("じゃがいも", "お茶", "さくらんぼ")

    '1列目の値が変化したら
    If Target.Column = 1 Then

        With Cells(Target.Row, Target.Column)
        
            '配列をループ
            For i = 0 To UBound(a)
            
                '1列目の値と、配列「a」の値が一致したら
                If .Value = a(i) Then
    
                    'B列に配列「b」の値を転記
                    .Offset(0, 1) = b(i)
                End If
            Next i
        End With
    End If

End Sub

マクロ実行前


 

マクロ実行後

A列に配列「a」の値を入力すると同時に、

B列に配列「b」の値を自動入力します。


 

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

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

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


 
 

隣のセルに値を自動入力(別シート参照)

以下のExcelVBAを実行すると、隣のセルに特定文字を自動的に入力します。


Private Sub Worksheet_Change(ByVal Target As Range)

Dim i As Long
Dim MyList As Variant
    
    '「Sheet1」の1列目の値が変化したら
    If Target.Column = 1 Then

        '「Sheet2」の指定範囲を配列に代入
        MyList = Worksheets("Sheet2").Range("A1:B3")

        With Cells(Target.Row, Target.Column)
        
            '配列をループ
            For i = 1 To UBound(MyList, 1)
            
                '1列目の値と、配列の値が一致したら
                If .Value = MyList(i, 1) Then
    
                    'B列に配列の値を転記
                    .Offset(0, 1) = MyList(i, 2)
                    Exit For
                End If
            Next i
        End With
    End If

End Sub

マクロ実行前


 

マクロ実行後

「Sheet1」のA列に文字入力すると、

隣のB列に「Sheet2」から取得した文字を自動入力します。


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

【エクセルマクロ】特定文字の隣のセルに値入力する:2選
...

 

「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!