• ベストアンサー

エクセルのCSV取り込み、加工について

こんばんは。 エクセルファイルの特定のシート(仮にsheet1としましょう)に任意名のCSVファイル外部データの取り込み→テキストファイルウィザード取り込み (取り込む形はカンマ区切り、全ての列が文字列、一部の列を削除で) その後にsheet1のある列と同一ファイルの他のシート(sheet2としましょう)のある列をマッチングさせて一致する行だけsheet1一部の列のデータ(E、F、Gのデータとしましょう)からデータをsheet2のE、F、Gにコピーするようなマクロを作る場合どのようなマクロを作るのでしょうか? お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#192382
noname#192382
回答No.1

データの取り込みは手操作でやってください。 シート2のA列と同じデータをシート1のA列で探し、同じものがあればその行のB,C列のデータをシート2のD,E列にコピーするマクロを作りました。回答遅れてすみません。昨日回答したつもりでいましたが、ここに反映されていないので再度書き込みしました。 Option Explicit Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2008/4/8 ユーザー名 : ' Dim mygyo As Integer, mydata As String, myrange As Range, my1gyo As Integer, mydata2 As String, mydata3 As String For mygyo = 1 To 4 Worksheets("sheet2").Activate mydata = Cells(mygyo, 1) MsgBox mydata Worksheets("sheet1").Activate For my1gyo = 1 To 5 If Cells(my1gyo, 1).Value = mydata Then mydata2 = Cells(mygyo, 2) mydata3 = Cells(mygyo, 3) 'MsgBox mydata2 Worksheets("sheet2").Activate Cells(mygyo, 4) = mydata2 Cells(mygyo, 5) = mydata3 Exit For Else End If Next my1gyo 'MsgBox VLookup(mydata, myrange, 2, False) Next mygyo ' End Sub

hirohiro26
質問者

お礼

ありがとうございます。 早速走らせてみます。

すると、全ての回答が全文表示されます。

専門家に質問してみよう