- ベストアンサー
エクセルで行抽出マクロについて教えてください
- エクセルで特定の条件に一致するデータを抽出する行抽出マクロについて教えてください。
- 具体的には、特定の製造番号が入力された行に対して、日付・単価・記号を自動的に入力する方法について知りたいです。
- ボタンをクリックすることで、一致した製造番号の行に対して必要なデータを簡単に入力することができる方法が知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
以下のマクロで試してみてください。 Sub test() Dim vData As Variant Dim mR1 As Long Dim mR2 As Long Dim wR As Long Dim wId As Integer ' With Worksheets("Sheet1") mR1 = .Range("A" & Rows.Count).End(xlUp).Row vData = .Range("A1:D" & mR1) End With With Worksheets("Sheet2") mR2 = .Range("D" & Rows.Count).End(xlUp).Row For wR = 1 To mR2 wId = Get_DataIdx(.Cells(wR, 4), vData) If wId > 0 Then .Cells(wR, 5) = vData(wId, 2) '日付 .Cells(wR, 6) = vData(wId, 3) '単価 .Cells(wR, 7) = vData(wId, 4) '記号 End If Next End With End Sub 'コード検索の位置を求める Function Get_DataIdx(wCode As String, vData As Variant) Dim wI As Integer ' Get_DataIdx = 0 For wI = 1 To UBound(vData) If vData(wI, 1) = wCode Then Get_DataIdx = wI Exit For End If Next End Function
お礼
とても勉強になりました。有難う御座いました。