補足をいただいたが、要領を得ない。
>A列のセルの値を変える
が、なぜそうするかよくわからない。
ーー
勝手な例を想像して、下記はやってみた。
処理パターン的にあっているかな?
C列は空き列として、
D列にデータが入力されて、セルの値が変わったら、その入力値で
A列を検索し、見つかった行の隣列(B列)の値を、入力セルの同行E列に持ってきている。
ーーー
例データ
Sheet1の A1:B6 テーブル部に当たる。
氏名 住所
山田 東京都新宿区
佐藤 横浜市北区
田中 調布市
木下 埼玉県大宮市
戸川 木更津市
Sheet1のChangeイベントに(標準モジュール部ではない)
Private Sub Worksheet_Change(ByVal Target As Range)
Set x = Application.Intersect(Target, Columns("D"))
If x Is Nothing Then
Else
Set y = Range("A2:A100").Find(what:=Target)
If y Is Nothing Then
MsgBox "該当なし"
Exit Sub
Else
EnableEvents = False
Target.Offset(0, 1) = y.Offset(0, 1)
End If
End If
EnableEvents = True
End Sub
質問者は、VBAは相当経験あるのかな。上記も難しい点(実用になるのか、なと)を含んでいる。
VLOOKUP関数の式をE列に、入れる方が良いのかも、しれない。
補足
回答ありがとうございます A列のセルの値のリストは最初から決まっていてB列より数が少なくB列に特定の値が含まれた行セルがある時次に特定の値が含まれる行セルまですべてA列は同じ値にしてB列に特定の値が含まれた行セルがある時次に特定の文字が含まれる行まですべてA列は同じ値にしてを繰り返したい