- ベストアンサー
マクロでセルに入力した数値をテキストファイルに出力したい。
お世話になっております。 早速ですが質問です。 マクロを作成しています。 エクセルのシートの50項目のセルに数値を入力していき、 シート上の置いたボタンを押すことで、入力された数値を テキスト形式で出力したいと思っております。 なにぶん初心者のためか、いい知恵が浮かびません。 例えば、どのような記述方法があるか。 お力をお貸しください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
Wendy02です。 私は、こちら側でつまらない書き方をしてしまったので、次が続けにくくなったかもしれません。 次の質問と同じ内容だとは思ったので、No.3144044 側に書いてしまいいましたが、こちらはコンマ区切りで、もうひとつ側が、タブ区切りでしたから、両方とも出来るように、オプションで入れられるように作りました。 Sub Text_OutPut()のコードの中で、 Delim = vbTab 'デリミタ の部分に、"," を入れていただければ、こちらに対応できるものと信じています。
その他の回答 (4)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 あまり余計なことを言ってもしょうがないことですが、「自分の勉強のため」というのでしたら、ともかく、#1 さんのコードやここのカテゴリから検索し、参考にしながら、やってみるのがよいと思います。他人に作ってもらうのと、自分で考えて作るのでは、多少なりともスタンスは違ってきます。 なお、そのコードの主になる部分を、「Open ステートメント」といいます。 この種のものは、自力よりも、サンプルを真似るのが一番です。 VBAというのは、全体的に「積み上げ」なのですね。急に出来るようにはならないのです。初級編からひとつずつ、カリキュラムをこなして覚えていくのがよいと思います。多くのみなさんが、途中で投げ出してしまうようですが。 大村さんの『かんたんプログラミング Excel VBA』(技術評論社)ですと、応用編の第8章に出てきます。
お礼
ありがとうございます。 やはり積み上げですね。Wendy02さんのご指摘通りに#1さんのコード等 参考にして、力をつけていこうと思います。 アドバイスありがとうございます。
- ASIMOV
- ベストアンサー率41% (982/2351)
入力するシートをSheet1とします 出力用にもう一枚シートを作ります、Sheet2とします >C2~C26,F2~F26の各セルに数値を入力します のデーターをSheet2にコピーします =Sheet1!C2 という具合に Sheet2を開き、「名前を付けて保存」で「CSV(カンマ区切り)」で保存します この↑作業を、「マクロの記録」で記録すると、マクロが出来ます フォームで、ボタンを貼り付けた後、先ほどのマクロを登録します
お礼
ありがとうございます。 参考にします。 が、できれば、マクロの記録を使うのではなく、自分の勉強のため、 ソースを作成してみたいのですが。。。
- ASIMOV
- ベストアンサー率41% (982/2351)
>50項目のセルに数値を入力していき これは、具体的にはどの様な配置になっているんでしょうか?
補足
C2~C26,F2~F26の各セルに数値を入力します。 文字列の入力もありますがC2~C4までで他はすべて数値を入力します。 入力をしていないセルがある場合、テキスト出力時にはNULLという文字列を入れようと考えています。細かい補足ですが、テキスト出力時にはカンマ区切りをしようと考えています。
- survey
- ベストアンサー率26% (17/65)
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です。 返信が遅れてしまい申し訳ありません。 早速アドバイス通りにしてみた所、 見事に理想の結果が返ってきました。 どうもありがとうございました!!