다른 시트의 정보를 참조하여 값 세트
2381 단어 ExcelVBA
Sheet2의 공급자 마스터를 참조하면서, SHEET1의 C열, D열,...의 정보를 메워 가는 이미지가 되고 있습니다.
Sheet1
Sheet2
코드가 다음과 같습니다.
※사진은 어디까지나 기능의 이미지이며, 아래의 코드에 셀의 행 번호와 사진이 일치하지 않는 곳이 있으므로, 주의해 주세요.
Sub vlookupItemValues()
Dim SHEET1 As Worksheet ' 駆動表シート
Set SHEET1 = Worksheets("Sheet1")
Dim SHEET2 As Worksheet ' 突合先シート
Set SHEET2 = Worksheets("Sheet2")
Dim SHEET1_GYO As Long ' 処理対象の開始行
Dim SHEET2_GYO As Long
Dim SHEET1_GYO_CNT As Long ' 件数計上
SHEET1_GYO_CNT = 0 ' 処理件数
Dim SHEET1_ITEMS_COL_START As Long ' 編集先のセルの列番号 (変動値)
Dim SHEET1_KEY1 As String
Dim SHEET2_KEY1 As String
Dim SHEET2_ITEM2 As String
Dim SHEET2_ITEM3 As String
'駆動表のルール
SHEET1_GYO = 3 'sheet1の対処データ範囲(3行目から~空白のセルの行まで)
Do Until SHEET1.Cells(SHEET1_GYO, 1).Value = ""
SHEET1_KEY1 = SHEET1.Cells(SHEET1_GYO, 1).Value
SHEET1_ITEMS_COL_START = 9
SHEET2_GYO = 2 'sheet2のVlookup範囲(2行目から~空白のセルの行まで)
'突合先シート
Do Until SHEET2.Cells(SHEET2_GYO, 1).Value = ""
SHEET2_KEY1 = SHEET2.Cells(SHEET2_GYO, 1).Value
SHEET2_ITEM2 = SHEET2.Cells(SHEET2_GYO, 2).Value
SHEET2_ITEM3 = SHEET2.Cells(SHEET2_GYO, 3).Value
If SHEET1_KEY1 = SHEET2_KEY1 Then '突合のKEY
SHEET1.Cells(SHEET1_GYO, SHEET1_ITEMS_COL_START).Value = SHEET2_ITEM2
SHEET1_ITEMS_COL_START = SHEET1_ITEMS_COL_START + 1
SHEET1.Cells(SHEET1_GYO, SHEET1_ITEMS_COL_START).Value = SHEET2_ITEM3
SHEET1_ITEMS_COL_START = SHEET1_ITEMS_COL_START + 1
End If
SHEET2_GYO = SHEET2_GYO + 1
Loop
SHEET1_GYO_CNT = SHEET1_GYO_CNT + 1
SHEET1_GYO = SHEET1_GYO + 1
Loop
' 終了の表示
MsgBox "完了しました。" & vbCr & _
"レコード件数=" & SHEET1_GYO_CNT & "件"
End Sub
Reference
이 문제에 관하여(다른 시트의 정보를 참조하여 값 세트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/halireport/items/9ca98fc888c3f254d6f5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)