[[20060531173601]] 『テキストファイルの行と列を入れ替えて開く』(pupu) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『テキストファイルの行と列を入れ替えて開く』(pupu)
はじめまして。
題記の件に関してですか、可能でしょうか?
開きたいファイルのデータは、列が足りないのです。
教えて頂けると幸いです。
どうぞ宜しくお願い致します。

 行(変換後の列)は足りるんやろか、という素朴な疑問はこのさいおいときまひょ。
これは、マクロでないとムリでっしゃろ。
だめもとでいっぺん試しておくんなはれ。
 
テキストファイル、っちゅうんは区切り文字に何を使うとるんやろか、言うんも
説明がないんやけれど、とりあえず、CSVと仮定さしてもらいますわ。
マクロいうても、使うだけならなんも難しいことあらしまへんでぇ。
 
 1 新しいブックを開く
 2 Alt+F11でVBE開ける
 3 「挿入」→「標準モジュール」に下のコードをコピぺ
 4 Alt+QでExcelに戻る
 
 これで準備OKですわ。
 あとはAlt+F8 で「CSV行列入替取込」を選んで実行してみておくんなはれ。
  
 Sub CSV行列入替取込()
     Dim MyString As String
     Dim MyVar As Variant
     Dim i As Long, j As Long
     Rem 対象ファイル名
     Const MyFile As String = "C:\Book3.csv"
     Rem CSVをメモリに開く
     Open MyFile For Input Access Read As #1
     Rem ファイル終端まで繰り返し
     Do While Not EOF(1)
         Rem 書込列設定
         j = j + 1
         Rem 最大列数を超えそうなときの用心
         If j > 256 Then
             MsgBox "列方向に転記しきれまへん"
             Exit Do
         End If
         Rem 展開したテキストを一行分、変数へ格納
         Line Input #1, MyString
         Rem 変数にSplit関数で配列として格納
         MyVar = Split(MyString, ",")
         Rem 配列数分繰り返し
         For i = 1 To UBound(MyVar)
             ActiveSheet.Cells(i, j) = MyVar(i)
         Next i
     Loop
     Rem CSVを閉じる
     Close #1
 End Sub
 
あと、このマクロはアクティブシートにデータを書き込みますさかい、
実行するときに開いているシート、気いつけとってください。
 
では・・・。
 
[[20041122160517]] 『CSVファイルを取り込む』(ウメ坊) 
↑を参考にCSVの行列入替版(Excel2000以降対応)。
 
(偽弥太郎 みやほりん)(-_∂)b
 

 肝心なことを忘れとった。
C:\Book3.csv は 開きたいファイルのフルパス名に変更したってな。
(偽弥太郎 みやほりん)(-_∂)b

 BA〜KA(heavy smile)
 Replace("では・・・","ほな・・・")
     偽みやほりん(-_*)b (Yatarou)


出来ました!!
マクロまで書いていただいて、本当にありがとうございました!
まじで助かりました。

pupu


 本家殿、添削おおきに〜(みやほりん)(-_∂)b

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.