ゴリラストロングの雑記帳

月収10万円の広告収入を目指す自称専業ライターのブログです。




【Excel VBA】エクセルマクロ。VLOOKUP関数をWorksheetFunctionで。




どうも、ゴリラストロングです。

 

 

 

本日もエクセルマクロの記事を書きたいと思います。

VLOOKUPとオートフィルター機能をメインに使いました。

 

 

 

転記先データです。

f:id:gorilla-strong:20200219062656p:plain

転記元データです。

f:id:gorilla-strong:20200219062922p:plain

 

 

 スポンサーリンク

 

 

実行後がこちらです。

f:id:gorilla-strong:20200219063112p:plain

きちんと転記できていると思います。

これだけではつまらないので、男女で分割します。

f:id:gorilla-strong:20200219063305p:plain

 

以下がソースコードです。

Sub ブイルック()

Dim saki, moto As Object
    Set saki = Workbooks(1).Worksheets("転記先")
    Set moto = Workbooks(1).Worksheets("転記元")

Dim lastrow As Long
    lastrow = saki.Cells(Rows.Count, 1).End(xlUp).Row

    For i = 2 To lastrow

        saki.Range("C" & i) = WorksheetFunction.VLookup(saki.Range("A" & i), moto.Range("A:E"), 3, False)
        saki.Range("D" & i) = WorksheetFunction.VLookup(saki.Range("A" & i), moto.Range("A:E"), 4, False)
        saki.Range("E" & i) = WorksheetFunction.VLookup(saki.Range("A" & i), moto.Range("A:E"), 5, False)

    Next

Dim dj As Object
    Set dj = Workbooks(1).Worksheets("男女分割")

    saki.Range("A1").AutoFilter 3, "男"
    saki.Range("A1").CurrentRegion.Copy dj.Range("A1")

    saki.Range("A1").AutoFilter 3, "女"
    saki.Range("A1").CurrentRegion.Copy dj.Range("G1")

End Sub

 単純にVLOOKUPでデータを引っ張り、オートフィルターで分割しただけです。

 

以上、ゴリラストロングでした。

 

 

スポンサーリンク