• ベストアンサー

EXCELで縦に並んだデータをテキストファイルでカンマ、シングルクォテ

EXCELで縦に並んだデータをテキストファイルでカンマ、シングルクォテーションで区切り横一列に並べ変えたい。 縦に KNTTT1 NINOH2 NIHOK3 というようなコードが縦に並んでいるEXCELデータをテキストへ'KNTT1','NINOH2','NIHOK3'という形でエクスポートさせたいのです。 VBAは初心者ですが継続的に使用するのでVBAなどのプログラムで作成できたらと考えております。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

●テキストファイルを操作する http://officetanaka.net/excel/vba/file/file08.htm の「Sub Sample21()」あたりを少し弄ると、こんな感じになろうかと存じます。  結果は Dドライブ の直下に「Test.txt」という テキストファイル が生成されます。 Sub Sample21()  Dim myArr As Variant  Dim n As Long  myArr = Range("A1:A10")  n = FreeFile  Open "D:\Test.txt" For Output As #n   Print #n, "'" & Join(Application.WorksheetFunction.Transpose(myArr), "','") & "'"  Close #n End Sub >縦に ~~ というようなコードが縦に並んでいるEXCELデータを >テキストへ'KNTT1','NINOH2','NIHOK3'という形でエクスポートさせたい とのことですので、 1)先ず、「縦に ~~ というようなコードが縦に並んでいる」というデータを配列に格納します。  myArr = Range("A1:A10") 2)「縦に並んでいる」セル範囲 を配列に格納すると、表で考えたときに、フィールド の集合ではなくて、レコード の集合のような形になりますので、一旦 [Transpose 関数] で横向きに書き換えます。  Application.WorksheetFunction.Transpose(myArr) 3)それぞれの コード の区切りを「','」というようになさりたいのですから、配列の内部文字列を結合する [Join 関数] で結合します。  Join(~~, "','") 4)最後に、結合された文字列の前後にも「'」を付け加えます。  "'" & ~~ & "'"

mustang2010
質問者

お礼

早速のご回答本当にありがとうございました。早速実行してみたところうまく行きました。説明もわかりやすく、リンクなどもいただき助かりました。

関連するQ&A

  • 以前EXCELで縦に並んだデータをテキストファイルでカンマ、シングルク

    以前EXCELで縦に並んだデータをテキストファイルでカンマ、シングルクォテーションで区切り横一列に並べ変えたい。というような質問をさせていただき下記のサンプルをいただきました。 Sub Sample21()  Dim myArr As Variant  Dim n As Long  myArr = Range("A1:A10")  n = FreeFile  Open "D:\Test.txt" For Output As #n   Print #n, "'" & Join(Application.WorksheetFunction.Transpose(myArr), "','") & "'"  Close #n End Sub 少しrangeの部分など編集して使用できていたのですが2点ほど修正を加えたいのでどなたかお助け下さい。 (1)test.txtと名前が固定ではなく名前を付けて保存させたい。 (2)空白セルの分もシングルクウォーテーションとカンマがついてしまう 例)AAA   BBB   CCC の場合テキストに'AAA','BBB','CCC','','','','','','',''と出てきてしまう。 VBAは初心者です。いろいろなサイトを調べ勉強し、編集していましたが煮詰まってしまっています。 どうかよろしくお願いします。できればロジックの説明も入れていただければ幸いです。

  • エクセルでテキストデータを読み込むときに、カンマの扱い

    エクセルVBAで、 open "**.txt" for input as #1 で読み込ませています。1行のデータとして、セルに入力したいのですが、カンマが入っているとそこで区切られてしまいます。これをしないようにしたいのですが、テキストファイルのデータに全角のカンマ,を使っても同じようになってしまいます。何か方法はありませんでしょうか?

  • テキストファイルの内のデータ処理について

    はじめまして。 C言語に関しての初心者の者です。 どうぞよろしくお願いします。 テキストファイルで連続したコンマ区切りのデータがあります。 一部分を示すと 0.000,1.000,5.000,0.000,・・・ のように改行等なく数値が約7万個ほど連なったデータです。 このデータの数値を一列に並べてエクセルファイル上に 0.000 1.000 5.000 0.000 ・ ・ ・ と書き込み、保存したいのですが、どう手を付けていけば良いか分かりません。 どのような手順でプログラムを書けばよいかご教授いただけないでしょうか。 よろしくお願いいたします。

  • excelデータをコンマ付きテキストで出力したい

    おはようございます。 excelデータをコンマ付きテキストで出力したいのですが、その方法を教えてください。

  • エクセルのセル区切り位置をカンマにしてテキストファイルにする方法

    カンマ区切りでテキストファイルをエクセル表にしましたが、エクセルにて編集後、元通りカンマ区切りでテキストファイルにもどしたいのですが、どのようにすればいいのでしょうか? エクセルにエクスポートなどの言葉がみつけられなかったので、教えていただきたいです。 どうぞよろしくお願い致します。

  • VBAでテキストファイルからデータを読み込む方法

    VBAでテキストファイルからデータを読み込む方法を探しています。 コンマ区切りのデータを、エクセルに書き込みたいです。 テキストファイルにはコンマ区切りで6個のデータを書き込んであります。 それを、セルD3からD7に書き込む方法を教えていただきたいです。よろしくお願いします。

  • テキストデータをエクセルに変換したい!

    改行されていない連続したテキストデータをエクセルに変換したいのですがどうしたらいいのでしょう? 普通、レコード毎に改行されたテキストデータならば、エクセルから該当のテキストファイルを読み込めば区切ってやればいいと思うのですが、改行されていないため、縦に並ばずにすべてのデータが横に並んでしまっています。 すいません、教えてください。

  • EXCEL VBAでカンマ区切りテキストファイルに変換する方法

    EXCELで作成したシートをVBAでカンマ区切りテキストファイル(CSVファイルではなく)に変換する方法を教えてください 下記のプログラムではテキストファイルに変換されますが、カンマ区切りになりませんでした。 Sub Samp() ActiveWorkbook.SaveAs Filename:="C:\WINDOWS\aa.txt", FileFormat _ :=xlText, CreateBackup:=False End Sub

  • VB6.0でTextファイルをExcel出力

    お世話になります。 VB6.0でTextファイル(カンマ区切りのデータが入っているもの)をExcelに出力するものを作成しました。 基本的に読込んだファイルをArrayで型を指定してExcelに出力する形です。 ですが、印刷するときにA4横に収まらない長さになってしまったので、 Textファイルの1行のデータをExcelには2行にして出力させることは可能ですか? Textファイルのデータはこんなのです。 XXXX,SS,SS,AA,DD,WW,Fed,fk,aaa,aqee このような形で数百件入っています。 何か参考になりそうなものがあったら教えてください。 よろしくお願いします。

  • エクセルの横から縦へのコピー

    エクセル初心者です。教えてください。 横にデータが並んでいるところから、1つコピーしてプルダウン(縦に)させると横に並んでるデータがついてきません。 縦のデータを→横、もしくは横のデータを→縦へプルダウンで引っ張るにはどのようにしたらいいのでしょうか?

専門家に質問してみよう