- 締切済み
【エクセル】区切り文字が含まれるデータを縦に展開する方法
エクセルで、区切り文字の含まれているデータを分ける時、「データ>区切り位置」で、横(行方向)へ展開することは出来ますが、縦(列方向)に展開させる方法があったら、教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
昨日の他の同様質問に対し答えたものですが、VBAでのコードを作ってみたので挙げておきます。 Sub test01() Open "C:\Documents and Settings\xxxx\My Documents\testcsv.csv" For Input As #1 j = 1 While Not EOF(1) Line Input #1, a s = Split(a, ",") For i = 0 To UBound(s) Cells(i + 1, j) = s(i) Next i j = j + 1 Wend Close #1 End Sub ーーー Openの後のファイル名はパスも含めて質問者のケースのものに書き換えるkと。 標準モジュールに貼り付けて、実行。 例データ CSV ファイル "aaabbb","ss",1 "aa","d",2 "dd","f",3 "ff","g",4 "gh","hh",5 "jjk","jj",6 "sd","k",1 "ss","a",2 結果 エクセルのシート "aaabbb" "aa" "dd" "ff" "gh" "jjk" "sd" "ss" "ss" "d" "f" "g" "hh" "jj" "k" "a" 1 2 3 4 5 6 1 2
- zap35
- ベストアンサー率44% (1383/3079)
「データ」→「区切り位置」でいったん横方向に展開した後で、コピーし「編集」→「形式を選択して貼り付け」→「行と列を入れ替える」で縦方向に貼り付けることは可能です。ただし貼り付ける場所は元データと別にする必要があります。 そうではなく横方向に展開したら256列の制限にひっかかり、展開できないというのであれば、「マクロで縦方向に読み込みたい」という質問が昨日もありました。そのまま利用できるかわかりませんが、ご参考まで。 http://oshiete1.goo.ne.jp/qa3482545.html
お礼
だいぶ光が見えてきました。どうも有難うございました。