dポイントプレゼントキャンペーン実施中!

ExcelのデータでA列(日付データ)、C列(名前)、E列(電話番号)とある会員の電話番号を管理しているデータがあります。毎回このデータをテキストファイルに値貼付けしているのですが、マクロで作成できないでしょうか?
このデータは毎回会員数が違うので、データが入力されている行までを選択してテキストファイルへ値貼付けできればありがたいです。よろしくお願いします。

A 回答 (3件)

#2のものです。

CSVファイルを作るとして述べます。
シートにコマンドボタンを1つ貼りつける。
そのコマンドボタンをダブルクリックして出てくる
コマンドボタンのClickイベントプロシージュアに下記を貼りつける。
デザインモードを脱して、
保存したいシートのセルの範囲を範囲指定して、ボタンをクリック。
Private Sub CommandButton1_Click()
Open "c:\my documents\aabb1.csv" For Output As #1
t = Selection.Row
b = Selection.Rows.Count
For i = t To t + b - 1
a = Cells(i, "A")
c = Cells(i, "C")
e = Cells(i, "E")
Write #1, a, c, e
Next i
Close #1
End Sub
sss",444,"京都"
"ddd",555,"名古屋"
"ddd",666,"浜松"
と言うようなファイルが出来ました。
「シートのセルの範囲を範囲指定させて」保存実感を持たせていますが、それをさせないで、最下行まで保存するなら
(略)
b = Range("a1").CurrentRegion.Rows.Count
For i = 1 To b
(略)
のようにしてください。
    • good
    • 0

下記のどれがご希望ですか。


(1)エクセルの1シートデータの「全部を」1本のテキストファイルに保存。
(2)エクセルの1シートデータの「一部を」、1本のテキストファイルに保存。本日分のみなど。
(3)今あるテキストファイルの中間行または最後行以後に、エクセルの1シートデータを全部または一部を挿入。
前日までのテキストファイルに追加。
(4)メモ帳のようなエディタに既存テキスト文書を開いて、任意の行に挿入。
「値貼りつけ」と言う表現からすると(4)のようにも取れるがどれでしょう。
(1)から(4)にしたがって、プログラムが難しくなりそう。#1のご回答は(1)のようですが。

この回答への補足

回答ありがとうございます。
(2)が希望です。会員データがありその中のA列,C列,E列のデータを貼り付けたいのです。ただ日によって会員数(行)が違います。データが入っている分だけテキストファイルに貼りつけたいのです。

補足日時:2003/09/09 13:50
    • good
    • 0

こんにちは



手続き的な部分をかなり端折っていますが・・・

Sub TXT_Create()
Open "Dirve名:Path名\File名" For Output As #1
Do
i = i + 1
日付データ = Sheets("シート名").Range("A" & i)
名前 = Sheets("シート名").Range("C" & i)
電話番号 = Sheets("シート名").Range("E" & i)
If 日付データ = "" Then Exit Do
Print #1, 日付データ, 名前, 電話番号
Loop
Close #1
End Sub

でいかがでしょう?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!