現在、100件ほどのデータを集計したいのでEXCELで開きたいと思っています。しかし、項目が600を超えており、EXCELの列の最大数は256ですから、データを全て読み込むことは出来ません。行列を入れ替えれば、列が100件程度になり読み込めるようになります。
出来ればMac、無ければWinでもかまいませんが、このためにソフトを買うつもりはないので、フリーソフトでお願いします。
先ほどのは 改行が一つ 余計に 入ってしまっていました。
これで OKかと・・・。
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+q
'
Dim a As String
Dim b As Long
Dim c As Long
Dim d As String
Dim f As Boolean
b = 1
c = 1
f = False
d = ""
Open "C:\test.csv" For Input As #1
Do While Not EOF(1)
a = Input(1, #1)
Select Case a
Case Chr(&H22)
If f Then f = False Else f = True
d = d & a
Case Chr(13)
Cells(b, c) = d
f = False
c = c + 1
b = 1
d = ""
Case ","
If f Then
d = d & a
Else
Cells(b, c) = d
b = b + 1
d = ""
End If
Case Chr(10)
Case Else
d = d & a
End Select
Loop
Close #1
End Sub
簡単なのはEXCELの「形式を選択して貼り付け」を使用する際に、「行列を入れ替える」というオプションがありますので、100件×600項目程度のデータなら、何回かにわければ、そんなに時間をかけずとも対応できると思います。
質問をきちんと読んでいますか?
確かに100件×200項目で3回入れ替えが出来ます。しかし、もともとデータが全て読めないので、この方法は使えませんよね?
Windows用フリーソフトです。
CHGCSV
CSVファイルの行と列を交換(フリーソフト)
http://www.vector.co.jp/soft/win95/business/se085348.html
CSVRCX
CSVの行と列を入れ替える(フリーソフト)
ありがとうございます。
助かります。
マクロを作ってみました。これでできると思いますよ。
ファイル名とか置き換えて、標準モジュールに入れてください。
Ctrl+q で読みこめます。
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+q
'
Dim a As String
Dim b As Long
Dim c As Long
Dim d As String
Dim f As Boolean
b = 1
c = 1
f = False
d = ""
Open "C:\test.csv" For Input As #1
Do While Not EOF(1)
a = Input(1, #1)
Debug.Print a
Select Case a
Case Chr(&H22)
If f Then f = False Else f = True
d = d & a
Case Chr(13)
Cells(b, c) = d
f = False
c = c + 1
b = 1
d = ""
Case ","
If f Then
d = d & a
Else
Cells(b, c) = d
b = b + 1
d = ""
End If
Case Else
d = d & a
End Select
Loop
Close #1
End Sub
http://www.excel.studio-kazu.jp/mag2/backnumber/mm20040622.h...
先ほどのは 改行が一つ 余計に 入ってしまっていました。
これで OKかと・・・。
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+q
'
Dim a As String
Dim b As Long
Dim c As Long
Dim d As String
Dim f As Boolean
b = 1
c = 1
f = False
d = ""
Open "C:\test.csv" For Input As #1
Do While Not EOF(1)
a = Input(1, #1)
Select Case a
Case Chr(&H22)
If f Then f = False Else f = True
d = d & a
Case Chr(13)
Cells(b, c) = d
f = False
c = c + 1
b = 1
d = ""
Case ","
If f Then
d = d & a
Else
Cells(b, c) = d
b = b + 1
d = ""
End If
Case Chr(10)
Case Else
d = d & a
End Select
Loop
Close #1
End Sub
ありがとうございます。
できました♪
ありがとうございます。
できました♪