- 締切済み
エクセルVBAマクロの質問です。
マクロ初心者です。 データ処理のマクロを作ろうとしていて、ちょっと困ってます。 (sheet1) 11 国総 1A (空きセル ) 12 化基 2I (空きセル) ・ 以下、200程度のデータ C列のデータの種類は10種類 (sheet2) 1A 2 101 102 2I 3 103 104 105 ・ ・ sheet1のC列と同じデータ C列より右側のデータ数は1から4個程度 (sheet3) データなし sheet1のデータを、sheet3にコピーする際に、各データのD列に、sheet2のC列の右側のデータを入れていきたいんです。具体的には (sheet3) 11 国総 1A 101 11 国総 1A 102 12 化基 2I 103 12 化基 2I 104 12 化基 2I 105 っていう感じです。先日、こちらのカテゴリでなく、間違えてVBAプログラムの方に質問して、「板違いですよ」と諭されながらも、ご協力いただきsheet2の件数分増やしてコピーするコードまではたどり着いたのですが、その後、どうすればD列に移せるのかで悩んでます。ちなみに、いまたどりついたコード文は以下の通りです。 一度、このコード文の続きで、sheet3のC列を条件カウントするコードを作ってみたんですが、動いてくれませんでした。 Sub Re8928577a() Dim M4 As Range Dim P As Variant ' WorksheetFunction.VLookup Dim Kensaku As String Dim L As Long Dim PRow As Long Dim i As Long Dim Z As Long Set M4 = Sheets("Sheet2").Range("A1:B30") L = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row ' For Z = 1 To L - 1 Kensaku = Sheets("Sheet1").Cells(Z + 1, 3).Value P = WorksheetFunction.VLookup(Kensaku, M4, 2, False) PRow = Sheets("Sheet3").Cells(Rows.Count, "A").End(xlUp).Row For i = PRow + 1 To PRow + P Sheets("Sheet1").Rows(Z + 1).Copy Sheets("Sheet3").Rows(PRow + 1).Resize(P) Next i Next Z End Sub
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- real beatin(@realbeatin)
- ベストアンサー率82% (174/211)
- real beatin(@realbeatin)
- ベストアンサー率82% (174/211)
お礼
ありがとうございます。早速、明日チェックしてみます。 おっしゃる通りですね。分からないことを質問するのと、何もかも委ねてしまうのは違いますよね。ちょっと甘えてました。頑張ってみます。