• ベストアンサー

軽いデータで出力

初心者です。 Excel2000で決まったテンプレートを使用しています。 必要な情報のみ残したいので A1のセルとA5~F100までの情報のみ テキストなどの軽いデータで出力したいです (区切りはいりません) コマンドボタンでファイル名を入力して 出力する形がいいのですが出来ますか? 勝手を言って申し訳ないのですが 出来ればマクロの記述をご教授願います。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

こんな感じ 'A1,A5:F100を出力 Private Sub CommandButton1_Click() Dim fso, file, filename Dim x As Range, line, i filename = InputBox("出力ファイル名入力", "ファイル名入力") Set fso = CreateObject("Scripting.FileSystemObject") Set file = fso.OpenTextFile(ThisWorkbook.Path & "\" & filename, 2, True) 'ファイルが既に在る時上書 file.WriteLine Range("A1").Value For Each x In Range("A5:A100") line = "" For i = 0 To 5 'A~Fまでをつなぐ line = line & x.Offset(0, i).Value Next file.WriteLine line Next file.Close End Sub

mama_mari
質問者

お礼

ありがとうございます。 記録マクロしか使った事が無かったので 色々勉強になりました。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

ちょっと他のことをしてたら、#1 のBLUEPIXYさんの内容と同じ方法でした。 >テキストなどの軽いデータで出力したいです >(区切りはいりません) 区切りって、デリミタと呼びますが、何もなくても、やっぱりありますよね。 '第一案: 記録マクロで、Prn 出力してしまう方法ですね。 難しいことを考えないで、Prn 出力ではダメなのですか? 記録マクロの範疇です。 フォームボタンにでも、つけてください。 '第二案: Sub Test_CreateText()  Dim Fname As String  Dim objFSO As Object  Dim objText As Object  Dim myPath As String  Dim buf As String  Dim i As Long  Const Delim As String = " " '区切りはは半角空白  Fname = "Test2.txt" '出力ファイル名  Set objFSO = CreateObject("Scripting.FilesystemObject") 'オブジェクト生成  myPath = ThisWorkbook.Path & Application.PathSeparator  Set objText = objFSO.CreateTextFile(myPath & Fname) 'ファイル生成  With objText   .WriteLine (Cells(1, 1))   For i = 5 To 500    buf = Cells(i, 1) & Delim & Cells(i, 2) & Delim & _    Cells(i, 3) & Delim & Cells(i, 4) & Delim & _    Cells(i, 5) & Delim & Cells(i, 6)    '一旦、配列に入れたほうが速いけれど、今回は、こうします。    .WriteLine (buf)   Next i  End With  Set objText = Nothing: Set objFSO = Nothing  MsgBox "終了しました。" End Sub

mama_mari
質問者

お礼

ありがとうございました。 そのまま使わせて頂きます。

関連するQ&A

  • マクロでセルに入力した数値をテキストファイルに出力したい。

    お世話になっております。 早速ですが質問です。 マクロを作成しています。 エクセルのシートの50項目のセルに数値を入力していき、 シート上の置いたボタンを押すことで、入力された数値を テキスト形式で出力したいと思っております。 なにぶん初心者のためか、いい知恵が浮かびません。 例えば、どのような記述方法があるか。 お力をお貸しください。

  • テキスト出力時に色を付けるには

    エクセルのマクロで読み込んだセルを以下のコマンドでテキストファイルに出力しています。 Print #1, Format(a, "@"); Chr(9); intime; "/"; outtime; Chr(9); text その際に条件によって特定のテキストにだけ色を付けることはできますでしょうか。 可能でしたら方法を教えてください。

  • VBAマクロでCSV出力

    はじめまして、よろしくお願いします。 ExcelのVBAマクロで 特定のセルの範囲を「シート名.csv」で出力するようなプログラムを書きたいです。 例)シート名「TEST」内にあるマクロボタンを押すと  A1:A10のセルの内容が「TEST.csv」(アスキー形式ならなんでも)  に出力される。 どういうやり方があるか、お勧めのサイト等、 ご教授いただけないでしょうか? 以上、よろしくお願いいたします。

  • excelからのテキスト出力方法

    はじめまして。 VBAでセルに入力された文字と固定した文字をテキストとして出力し 自動的に保存させたいのですがどうすれば良いでしょうか? イメージとしては・・・ セル・・・入力した文字 A1・・・○○○ A2・・・■■■  ↓ マクロ実行  ↓ テキスト出力・保存(D:\test.txt) ---テキスト内容--- set ○○○ set ■■■

  • エクセル excel 機能 ソート テキスト出力

    表計算のためエクセルの使用を考えています。 エクセルはこれまで使ったことがなく、どのようなものか分からず質問させて頂きます。 セルごとにランダムに入力した数値を小さい順に並べ替えてテキストとして出力する機能はありますでしょうか? 例えば0~100までの数字をセルごとにランダムに入力します。 そのランダムな数字を大きさ順に並べ替えたものを、例えばテキストデータとしてメモ帳などに貼り付ける形で出力させたいです。 このような機能はありますでしょうか? 教えて下さい、宜しくお願いします。

  • Accessのテーブルをエクセルに出力する時に任意にフォルダを指定する。

    DoCmd.OutputTo acTable, "ppppp", acFormatXLS, "c:\xzzz\aaaaaa.xls", この形で、テーブルをそのままエクセルに出力するとき、C:\xzzzの部分をプログラムに書き込む時に決めるのではなく、出力する都度フォルダを変えることは可能でしょうか? 希望は、フォームのテキストにに出力したいフォルダ名を入力してコマンドボタンを押すと、入力したフォルダにテーブルがエクセル形式で出力されるという形にしたいです。よろしくお願いします。

  • ACCESS Excelの出力について

    stressmanといいます。 実は、ACCESSでクエリをExcelへ出力をしたいのですが、 ここで、既存のExcelのファイルのセルを指定して出力 というこはできるのでしょうか? 選択クエリで必要な情報を抜き出し、そのクエリを 「営業報告書.xls」というファイルのあらかじめ記載して ある「顧客名」「住所」のセルに格納していきたいのです。 マクロで「コマンド実行」-「Excel出力」を使って みたのですが、新しくファイルを開き、クエリのデザイン そのままで出力されます。 宜しくお願いします。

  • ACCESSでフォーム入力→レポート出力したい

    ACCESSでフォーム入力→レポート出力したい OS:XP,ACCESS2000 フォームのテキストボックスに入力した文字をレポートのテキストボックスに表示したい。 フォーム: ファイル名は「フォーム1」で、その中に作ったテキストボックス名は「入力データ」 コマンドボタン名は「レポート出力」 レポート: ファイル名は「レポート1」で、その中に作ったテキストボックス名は「出力データ」 フォーム1とレポート1を立ち上げてフォームのテキストボックスにデータを入力した後、 コマンドボタンを押してもレポート1のテキストボックスに入力したデータが表示されません。 レポート1を選択した後にデザインボタンを押し、その後にもう一度立ち上げると、 なぜかデータが書き込まれています。 コマンドボタンを押したのと同時にレポート1にデータが表示されるようにするには どうすれば良いですか? プログラムは以下の様になっております。 (1)クラスオブジェクト下 Private Sub コマンドボタン_Click() Call レポート書き出し() End Sub (2)標準モジュール下 Public Function レポート書き出し() Dim F As Form Dim R As Report Set F = Forms![フォーム1] Set R = Reports![レポート1] R![出力データ] = F![入力データ] End Function

  • AccessのデータをExcelテンプレートに出力・自動印刷したい

    Access2000を使っています。 クエリで必要なデータだけをフォーム上に抽出した後、フォーム上のコマンドボタンをクリックすることで、Excel2000で作成したテンプレートに出力・自動印刷したいのですがこんなことできますか?できるのでしたら方法を教えてください。マクロでもいいのですが、できればVBAのコードで教えていただければ助かります。 よろしくお願いします。

  • マクロでActivecellの1行下に移動したい

    EXCELのマクロで、あるセルにデータを入力した後、マクロボタンで1行下のセルをアクティブセルにしたいのですが、どう記述したらいいでしょうか?

専門家に質問してみよう