- ベストアンサー
エクセルでリストの加工方法を教えてください
- エクセルでリストの加工方法を教えてください。A列(ID)、B列(エラーコード)、C列(日付)にデータがあります。
- B列のエラーコードは「;」セミコロンで区切られており、1つのエラーコードに対して複数のレコードがあります。
- 加工後のデータは、B列のエラーコード毎にレコードを分け、結果をA列、B列、C列に表示する形式になります。元データは8000レコードあります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! VBAでの一例です。 元データはSheet1にあり、Sheet2に表示するとします。 Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, k As Long, cnt As Long, wS As Worksheet, myArray Set wS = Worksheets("Sheet2") With Worksheets("Sheet1") For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row myArray = Split(.Cells(i, "B"), ";") For k = 0 To UBound(myArray) cnt = cnt + 1 wS.Cells(cnt, "A") = .Cells(i, "A") wS.Cells(cnt, "B") = myArray(k) wS.Cells(cnt, "C") = .Cells(i, "C") Next k Next i End With wS.Range("B:B").NumberFormatLocal = "00" wS.Range("C:C").NumberFormatLocal = "m/d" End Sub 'この行まで ※ Sheet2のB・C列の表示形式は好みで変更してください。m(_ _)m
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
VBAでプログラム書く それ以外なら、25回繰り返しになるが、オートフィルタで行を絞ってコピペ B列は置換か上書きが必要
お礼
早速回答いただいてありがとうございます! 上手くいきました、完璧です! 実はリストのレイアウトに変更があり、D列からF列までデータが増えたのですが、 ソースを修正して対応できました。 本当に助かりました。ありがとうございます。