|
以下のような表があり、A列の空欄部分に事務所名を入力していきたいと考えております。
A B C
1 A事務所 工事費 ○○修理
2 工事費 △△改修
3 工事費 ××補修
4 X事務所 消耗品費 文房具購入
5 消耗品費 雑部材購入
6 旅費 本社会議
7 Z事務所 工事費 空調新設
上記の例ですと、A2,A3にA事務所、A5,A6にB事務所と記載したいのです。ダウンロードしたデータでは、事務所名が一つしか記載されません。
そこで、全ての事務所の名前を記載したシートを別に作成し、そこの列にある値が、上記のシートの中に存在するか否かで検索回数を定め、かつ、次の事務所名の手前まで、値を入力数ることとしたいのです。
以下が私の考えたコード(途中)です。
Sub 事務所名入力()
Dim c As Range
Dim firstAddress As String
Worksheets(2).Activate
Set c = Worksheets(3).Range("A2", Range("A65536").End(xlUp)).Find(What:=Worksheets(2).Range("A2", Range("A65536").End(xlUp)).Value, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Copy Destination:= _
Worksheets(4).Range("A65536").End(xlUp).Offset(1)
Set c = Worksheets(3).Range("A2", Range ("A65536").End (xlUp)).FindNext(c)
Loop While Not c Is Nothing And _
c.Address <> firstAddress
End If
End Sub
特定のシートにある列を一つ一つ参照しながら、別の列の検索を行う方法がありましたら、お教えいただけないでしょうか。また、次の事務所名の前まで値を入力するいい方法がありましたら、あわせてお願いできないでしょうか。
あまり効率的な作業とは言いがたい気がしますが、私にはこのくらいしか思いつきませんでした。よりより方法をご存知でしたら、お教えいただけると助かります。
|
|