• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルシートのファイルエクスポートについて)

エクセルシートの住所ファイルをCSV形式で出力する方法

このQ&Aのポイント
  • エクセルの住所ファイル(複数行)を編集して、CSVファイル形式で1件単位に出力する方法について教えてください。
  • エクセルの住所ファイルをCSV形式で出力し、アクセスに取り込む方法について教えてください。特に制御文字やマクロを使用する必要があれば教えてください。
  • エクセルの住所ファイルをCSV形式で出力するためのアイデアやサンプルプログラムがあれば教えてください。

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

  • ベストアンサー
  • sh_hirose
  • ベストアンサー率66% (56/84)
回答No.2

こんなんじゃだめですか? (すっごい適当に書いてます。) Open "aaa.txt" For Output As #fileNum i = 3 Do Until cells(i, 1) = "" str = cells(i, 1).value & "," & cells(i, 2).value & _ "," & cells(i, 3).value & "," & cells(i, 4).value & _ "," & cells(i, 5).value & "," & cells(i, 6).value & _ "," & cells(i, 7).value & "," & cells(i, 8).value & "," i = i + 1 str = str & cells(i, 1).value & "," & cells(i, 2).value & _ "," & cells(i, 3).value & "," & cells(i, 4).value & "," i = i + 1 str = str & cells(i, 1).value & "," & cells(i, 2).value & _ "," & cells(i, 3).value & "," & cells(i, 4).value & "," i = i + 1 str = str & cells(i, 1).value & "," & cells(i, 2).value Print fileNum, str i = i + 2 Loop Close #fileNum

moukodon
質問者

お礼

sh_hirose様 ありがとうございました。 ポイントはつかめましたので、投稿をベースに加筆しました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

表の組み換えは簡単なVBAコードで出きる Sheet1->Sheet2に組み替え 例データ Sheet1 A列 aa1 bb1 cc1 dd1 eee1 aa2 bb2 cc2 dd2 eee2 aa3 bb3 cc3 dd3 eee3 aa4 bb4 cc4 dd4 eee4 ーー Sheet2 結果A-E列 aa1 bb1 cc1 dd1 eee1 aa2 bb2 cc2 dd2 eee2 aa3 bb3 cc3 dd3 eee3 aa4 bb4 cc4 dd4 eee4 コード Sub test01() Dim sh1, sh2 As Worksheet Set sh1 = Worksheets("Sheet1") Set sh2 = Worksheets("Sheet2") k = 1 For i = 1 To 20 Step 5 For j = 1 To 5 sh2.Cells(k, j) = sh1.Cells(i + j - 1, "A") Next j k = k + 1 Next i End Sub 列数は5としている。 For i = 1 To 20 Step の20は最下行を捉えるコードにしてください (意識的手抜き)

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.4

#3です。 表現を改めます。 「エクセルワークシートで切取移動する」 →4行目~6行目をそれぞれ切取って3行目に移動していき、データを1行にする をループ処理する。

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.3

3行目から7行目(空白行)までのパターンの繰り返しでその構造は一定ですか? そうなら「エクセルワークシートで切取移動する」か、「全ての項目を配列にして扱う」ってのはいかがですか?

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

別に「FileSystemObject」を使わなくてもできます。 「vba ファイル書き出し」をキーワードに検索すれば、例がたくさんみつかるはずです。 基本は、OPEN命令で書き出すファイルを開き、PRINT命令で書き出すだけです。書き出す内容はセルのの値を逐次取り出すわけですから、自分で自在にハンドリングします。

moukodon
質問者

補足

ご返答ありがとうございます。 vbaファイル書き出し等の検索ワードでは、単純に出力する方法は記載があり、OPEN命令、PRINT命令、及びエクセルの先頭・最終セルを判定してループする機能もあり、その範囲程度であれば理解しているつもりです。しかし、書き出しセル(項目)のコントロールする機能(複数行をまとめて出力、項目を選択して出力等)についてはなかなかヒットしません。なにかよいお知恵・サンプル等のリンクがあれば教えていただけないでか?

関連するQ&A

専門家に質問してみよう