• ベストアンサー

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

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

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

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

Wendy02です。 私は、こちら側でつまらない書き方をしてしまったので、次が続けにくくなったかもしれません。 次の質問と同じ内容だとは思ったので、No.3144044 側に書いてしまいいましたが、こちらはコンマ区切りで、もうひとつ側が、タブ区切りでしたから、両方とも出来るように、オプションで入れられるように作りました。 Sub Text_OutPut()のコードの中で、 Delim = vbTab 'デリミタ の部分に、"," を入れていただければ、こちらに対応できるものと信じています。

omiyamairi
質問者

お礼

omiyamairiです。 返信が遅れてしまい申し訳ありません。 早速アドバイス通りにしてみた所、 見事に理想の結果が返ってきました。 どうもありがとうございました!!

その他の回答 (4)

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

こんにちは。 あまり余計なことを言ってもしょうがないことですが、「自分の勉強のため」というのでしたら、ともかく、#1 さんのコードやここのカテゴリから検索し、参考にしながら、やってみるのがよいと思います。他人に作ってもらうのと、自分で考えて作るのでは、多少なりともスタンスは違ってきます。 なお、そのコードの主になる部分を、「Open ステートメント」といいます。 この種のものは、自力よりも、サンプルを真似るのが一番です。 VBAというのは、全体的に「積み上げ」なのですね。急に出来るようにはならないのです。初級編からひとつずつ、カリキュラムをこなして覚えていくのがよいと思います。多くのみなさんが、途中で投げ出してしまうようですが。 大村さんの『かんたんプログラミング Excel VBA』(技術評論社)ですと、応用編の第8章に出てきます。

omiyamairi
質問者

お礼

ありがとうございます。 やはり積み上げですね。Wendy02さんのご指摘通りに#1さんのコード等 参考にして、力をつけていこうと思います。 アドバイスありがとうございます。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

入力するシートをSheet1とします 出力用にもう一枚シートを作ります、Sheet2とします >C2~C26,F2~F26の各セルに数値を入力します のデーターをSheet2にコピーします =Sheet1!C2 という具合に Sheet2を開き、「名前を付けて保存」で「CSV(カンマ区切り)」で保存します この↑作業を、「マクロの記録」で記録すると、マクロが出来ます フォームで、ボタンを貼り付けた後、先ほどのマクロを登録します

omiyamairi
質問者

お礼

ありがとうございます。 参考にします。 が、できれば、マクロの記録を使うのではなく、自分の勉強のため、 ソースを作成してみたいのですが。。。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

>50項目のセルに数値を入力していき これは、具体的にはどの様な配置になっているんでしょうか?

omiyamairi
質問者

補足

C2~C26,F2~F26の各セルに数値を入力します。 文字列の入力もありますがC2~C4までで他はすべて数値を入力します。 入力をしていないセルがある場合、テキスト出力時にはNULLという文字列を入れようと考えています。細かい補足ですが、テキスト出力時にはカンマ区切りをしようと考えています。

  • survey
  • ベストアンサー率26% (17/65)
回答No.1

Sub ボタン1_Click() ' 初期設定 Dim FlNum as Long, FlName as String, Atai as Variant ' ファイルを開く FlNum=FreeFile FlName="C:\Test.txt" Open FlName For OutPut Access Write As #FlNum ' 書き込み Atai=Range("A50") Print #FlNum,CStr(Atai) ' ファイルを閉じる Close #FlNum End Sub

omiyamairi
質問者

お礼

参考意見ありがたく頂いときます。 ありがとうございます。

関連するQ&A

  • テキストボックスへにセル値の入力

    エクセルマクロの初心者で恐縮なのですが、ユーザーフォームのテキストボックスに下記のようなことは可能でしょうか? 例1)ユーザーフォーム上にある「テキストボックス」に「オプションボタン1」を選択するとワークシートのセル値を入力(反映)することは可能でしょうか? 例2)次に、「オプションボタン2」を選択すると、例1でテキストボックスに入力(反映)した値を消去し、かつ、このテキストボックスに数値を直接入力したら、ワークシートの別セルに入力した数値が反映されるようにすることは可能でしょうか? 例1・2)についてどのようなマクロを組めばよいのでしょうか? マクロにお詳しい方、大変申し訳ございませんか、ご指導お願いいたします。

  • エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい

    エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい。 たとえばセルA1に、1以上の数値が入力されたときに、セルA2に今日の日付を入力させる マクロの記述はどうすれば宜しいでしょうか? 以下の記述で、セルA2に日付は入力させられるのですが、 セルA1に1以上の数値が入力された場合に起動させる方法が分かりません。 Range("A2").Select SendKeys "^(;){ENTER}" ご教授の程、宜しくお願い申し上げます。

  • マクロで複数のセルに数値を入力したい

    エクセル、マクロとも初心者なのですが、タイトル通りのことをするにはどうしたらよいか教えてください。 やりたいことは、 「指定したアクティブセル(毎回変わる)を選択し、その隣のセルにあらかじめ決められた数値をマクロで入力する」というものです。 例えば・・・ A1をアクティブにし、マクロを実行する B1、C1、D1、E1のセルに決められた数値が入力される こんな感じです。 基本的なことかもしれませんが、どうかよろしくお願いします。

  • セルに入力した数値に自動的に'をつけるマクロを作成した

    お世話になっております。 早速質問です。 エクセルのマクロを作成しています。 いくつかセルに文字や数値を入力し、マクロを実行した時、 自動的にシングルクォーテーションマーク(')を文字や数値の両端に 付けたい(例:aaaaa→'aaaaa')のですが いろいろ探していますが見つかりません。 お力をお貸し頂きませんでしょうか。 よろしくお願い致します。

  • Excelのマクロで改行を含んだテキストファイルの中身を1つのセルに書

    Excelのマクロで改行を含んだテキストファイルの中身を1つのセルに書き込みたいです。 ネット上を探してみると、1行ごとにわけて各行に書き込むマクロは見つかったのですが、 もっと原始的にファイルを開くのダイアログからテキストを指定して、その中身をただ単純にセルに入力したいです。 どのように記述すればよいでしょうか??

  • VBAマクロでCSV出力

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

  • マクロ セルに入力されたシートを選択する

    なかなか理解出来ない初心者です。 セルに入力したシート名で、そのシートを選択するマクロの記述はどうするのでしょうか? また、そのシートが選択された時にメッセージを出力したいです。 御指導お願い致します。

  • エクセルのマクロで入力文字を一文字ずつ並んだセルに入れる

    エクセルマクロ超初心者です。 エクセルVBAでユーザーフォームを作成しました。 テキストボックスに入力した文字列を「登録」ボタン押下後、エクセルシートのセルに一文字づつ入るようにするにはどうすれば良いでしょうか? 例えばテキストボックスに「kohiro」と入力するとエクセルのsheet1のA1「k」、B1「o」、C1「h」、D1「i」、E1「r」、F1「o」となるようにしたいのです。入力する文字数は0~30文字までで、その都度長さは変わります。どうやって、文字をばらせばいいのか、またどうやって可変長の文字列を指定したセルに入力すればいいのかわかりません。どうかよろしくお願いいたします。

  • VBA フォームのテキストボックスにセルの値を入力

    解決策が見つからなかったため力を貸してください。 【Excel2010】 選択したセルの数値(その時によって違う)を シート上のマクロを登録したボタンを押すと出てくる フォームのテキストボックスに表示させたいのですが、 どうやってもうまくいきません。 そのフォームは、数字を入れてエンターを押すと その数字に対応した内容をデータベースからもってきて 表示される仕組みになっているのですが、 いちいち数字を覚えるか自分でコピペして入力するのが面倒なので、 シート上の数字(セル)を選択してマクロを押すと 表示されているようにできたらなと思っています。 ちょっとした改善ですが、できたら作業効率が上がるので ご回答をお待ちしております。

  • VBA セルに入力されている数値でセルを指定する

    Excel VBA初心者です。 Sheet1のA1セルに10、A2セルに3を入力しています。 この入力したセルの数値を参照して、 Sheet2の「Cells(10,3)」(C10セル)を青(Interior.ColorIndex = 5)に 書式変更したいのですが、「Cells(”Sheet1.A1の値”,”Sheet1.A2の値”)」の 書き方がわかりません。 Excel2010を使用しています。 よろしくお願いします。

専門家に質問してみよう