dポイントプレゼントキャンペーン実施中!

エクセルで、区切り文字の含まれているデータを分ける時、「データ>区切り位置」で、横(行方向)へ展開することは出来ますが、縦(列方向)に展開させる方法があったら、教えてください。

A 回答 (2件)

昨日の他の同様質問に対し答えたものですが、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"
12345612
    • good
    • 2

「データ」→「区切り位置」でいったん横方向に展開した後で、コピーし「編集」→「形式を選択して貼り付け」→「行と列を入れ替える」で縦方向に貼り付けることは可能です。

ただし貼り付ける場所は元データと別にする必要があります。

そうではなく横方向に展開したら256列の制限にひっかかり、展開できないというのであれば、「マクロで縦方向に読み込みたい」という質問が昨日もありました。そのまま利用できるかわかりませんが、ご参考まで。
http://oshiete1.goo.ne.jp/qa3482545.html
    • good
    • 3
この回答へのお礼

だいぶ光が見えてきました。どうも有難うございました。

お礼日時:2007/11/04 21:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A