|
質問(煮詰まった) さん、こんばんわ。
>>Range("D2", Range("D65536").End(xlUp)).Offset(, 2) _
>>.Formula = "=VLOOKUP(TEXT(D2,""000""),担当者!A1:B159,2,FALSE)"
Keinさん、かみちゃんさんの式をそのまま拝借。
担当者の検索範囲は固定ですよね。
> この担当や得意先が通常10行程度なのですが、最大100行とかになり
> 手作業が手間でマクロで処理したいと思い色々質問していました。
というわけで、
F2に数式を入力
D列にデータが入っているところまで下方向にコピー(FillDown)
これを記録して、分岐を入れて整理するとこんな感じ。
Sub TEST()
Dim Rmax As Long
'
With Application.ActiveSheet
Rmax = .Range("D10000").End(xlUp).Row '最下行番号
'データが入っていれば
If Rmax > 1 Then
.Range("F2").Formula = _
"=VLOOKUP(text(D2,""000""),担当者!$A$1:$B$159,2,FALSE)" '式
If Rmax > 2 Then _
.Range("F2:F" & Rmax).FillDown '下方向へコピー
End If
End With
End Sub
こんな感じです。
|
|