PCメモ

Excelを中心とした業務改善の記録

Loopで参照

Loopで参照

 

Sub サンプル()

 

Dim SheetM As Worksheet
Dim SheetD As Worksheet

Dim nM As Long
Dim nD As Long

Set SheetM = Worksheets("マスタ")
Set SheetD = Worksheets("明細")

 

 nD = 2
 Do Until SheetD.Cells(nD, 1) = ""
  nM = 2
  Do Until SheetM.Cells(nM, 1) = ""
  If SheetD.Cells(nD, 2) = SheetM.Cells(nM, 2) Then
   SheetD.Cells(nD, 4) = SheetM.Cells(nM, 1)
   Else
  End If
  nM = nM + 1
  Loop
  nD = nD + 1
 Loop

End Sub

 

明細シートD列に製品CDに合った分類を入力する。

 

 f:id:abv72:20200928225020p:plainf:id:abv72:20200928225108p:plain

 

nD = 2
 Do Until SheetD.Cells(nD, 1) = ""
  nM = 2
  Do Until SheetM.Cells(nM, 1) = ""
  If SheetD.Cells(nD, 2) = SheetM.Cells(nM, 2) Then
   SheetD.Cells(nD, 4) = SheetM.Cells(nM, 1)
   Else
  End If
  nM = nM + 1
  Loop
  nD = nD + 1
 Loop

 

明細シートのA列が空白になるまで繰り返す。

cells(2,1)から始まる。空白になるcells(6,1)でループ終了。

 

マスタシートのA列が空白になるまで繰り返す。

cells(2,1)から始まる。空白になるcells(8,1)でループ終了。

 

明細シートの製品CDとマスタシートの製品CDが一致した時、

マスタシートの分類を明細シートの分類に入力する。