HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > 値を入力したセルの隣りのセルの値を取得して別のセルに表示する

即効テクニック

セル操作関連のテクニック

値を入力したセルの隣りのセルの値を取得して別のセルに表示する

(Excel 97)
取得して、C列に表示させるにはどうしたよいのでしょうか?

【例】
A列       B列        C列
         森         宮村
 1       宮村        小島
         鈴木
 1       小島
         ・
         ・
         ・
         芝山

A列に「1」が入力されているかどうかをFor〜Nextステートメントでループしながら判断していきます。「1」が入力されている場合は、アクティブになっているセルの隣りの列の値をOffsetプロパティを使って取得し、C列に入力します。C列は、1行目に既に値が入力されていたら、下から空のセルを見つけて入力します。For〜Nextステートメントに入る前には、セルA1をアクティブにして、C列を初期化します。
Sub Sample()
 
    Dim i        As Integer
    Const rowmax As Integer = 10
 
    Range("A1").Select
    Columns("C").Clear
 
    For i = 1 To rowmax
        If ActiveCell.Value = 1 Then
            If Range("C1").Value = "" Then
                Cells(65536, 3).End(xlUp).Value = ActiveCell.Offset(, 1).Value
            Else
                Cells(65536, 3).End(xlUp).Offset(1).Value _
                        = ActiveCell.Offset(, 1).Value
            End If
        End If
   
        ActiveCell.Offset(1).Select
 
    Next i
 
    Range("A1").Select
 
End Sub
 変数rowmaxの配列数に、B列のデータ数をカウントして設定するなどして 応用する事ができます。