• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロでこんなものを作りたいのですが。。。)

エクセルのマクロで【CSV用シート】に情報反映し、保存する方法

このQ&Aのポイント
  • エクセルのマクロを使用して、【入力シート1】と【入力シート2】の情報を【CSV用シート】に反映させ、最後にCSV形式で保存する方法を教えてください。
  • 【入力シート1】には連番とコードがあり、【入力シート2】には担当コード、住所、名前、入力日があります。
  • 【CSV用シート】には連番、コード、担当コード、入力日の情報を反映させたいです。担当コードと入力日は同じ値が入ります。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

再びこんにちは。 > 元のエクセルファイルのcsv用シートには内容は残らないのでしょうか? 別ブックにするしかないです。 こんな感じかな? Sub bbb() Dim LRow As Long, r As Range, FName, wb As Workbook LRow = Worksheets("入力シート1").UsedRange.Rows.Count Worksheets("入力シート1").UsedRange.Copy With Worksheets("CSV用シート")   .Activate   .Range("A1").PasteSpecial xlPasteAll    Application.CutCopyMode = False   .Range("C1").Value = Worksheets("入力シート2").Range("A1").Value   .Range("D1").Value = Worksheets("入力シート2").Range("A4").Value   .Range("C2:C" & LRow).Value = Worksheets("入力シート2").Range("B1").Text   .Range("D2:D" & LRow).Value = Worksheets("入力シート2").Range("B4").Text   .Range("A1").Select   .Select   .Copy   Set wb = ActiveWorkbook   FName = Application.GetSaveAsFilename("", "CSV (*.CSV), *.CSV")   If FName <> False Then     wb.SaveAs FName, xlCSV   End If End With End Sub ボタンは2種類あります。 コントロールツールボックスのCommandButtonならClickイベントに Private Sub CommandButton1_Click()   Call bbb End Sub 表示 - ツールバー - フォームのボタンならマクロの登録に bbb を選べばOKです。

natukawa01
質問者

お礼

お礼が遅くなってしまってごめんなさい。 二度の質問にも関わらずご返答頂いてありがとうございました。おかげで完成です!! 

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

こんにちは。 全部A1からデータがあるとして、こんな感じ? Sub aaa() Dim LRow As Long, r As Range, FName LRow = Worksheets("入力シート1").UsedRange.Rows.Count Worksheets("入力シート1").UsedRange.Copy With Worksheets("CSV用シート")   .Range("A1").PasteSpecial xlPasteAll   Application.CutCopyMode = False   .Range("C1").Value = Worksheets("入力シート2").Range("A1").Value   .Range("D1").Value = Worksheets("入力シート2").Range("A4").Value   .Range("C2:C" & LRow).Value = Worksheets("入力シート2").Range("B1").Text   .Range("D2:D" & LRow).Value = Worksheets("入力シート2").Range("B4").Text   .Select   FName = Application.GetSaveAsFilename("", "CSV (*.CSV), *.CSV")   If FName <> False Then     .SaveAs FName, xlCSV   End If End With End Sub

natukawa01
質問者

お礼

早速ありがとうございます~。私は朝の11時頃からやっていて全然できなかったのに凄い!! お時間があれば以下教えてください。 VBAから実行したところ、「csv形式で保存する」画面までたどり着いたので保存しました。元のエクセルファイルのcsv用シートには内容は残らないのでしょうか? 【入力シート2】にボタンを作ってこのマクロを登録したいのですがどうやるんでしょうか?基本的なことですみません。実はほとんど初心者です。。 図々しくてすみませんがよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel マクロについて

    Excelで作成したシートを次の手順で保存できるようなマクロを作成したいのですがどうしたらいいでしょうか?  1)あらかじめ所定のフォーマットを用意しユーザーが入力できるようにする。  2)ユーザがボタンを押すとそのシートの上2行(1行、2行)と左1列(A列)が削除され、    (タイトル行なのでCSVにする際に不要な為。)  3)「名前を付けて保存」のダイアログボックスが表示し  4)保存先のフォルダが「X:\DATA\」となるようにし  5)ファイル名がその日付(yyyymmdd.csv)、CSV形式 (例:20031125.csv)となるようにし、    (ユーザーにても変更の可能性もあるので固定にはしない)  6)ユーザーが保存先、ファイル名等を確認語保存する。  7)保存後は元のEXCELシート(CSV形式でない)で開いた状態で終了とする。 自分でも作成したのですが、本当にこれでいいのかも疑問でご意見を教えて下さい。 特に、7)のところがうまくいかず、6)での保存後どうしても開いているファイルの状態が CSV状態になります。 以上、ご存知の方教えて下さい。  

  • Excelのマクロ『困ってます!』

    Excelで、以下のような機能を持ったマクロをつくりたいのですが、情けないのですが全くできません。 わかる方、どうかよろしくお願いいたします。 Sheet1のA1~D1の値(例では、東京、練馬区、○○、△△)を、 全て「含む」Sheet2のセルに目印をつけ(例は隣のセルに「○」と入力)し、 それが終わったらSheet1のA2~D2の値(例では、東京、練馬区、○○、□□)で・・・ の繰り返しです。 あくまでSheet1の値を全て「含む」ものが対象なので、Sheet2の5行目のように、 余計な値(例では★)が混じっているものも対象としたいです。 例: [Sheet1] 1 |東京都|練馬区|○○ |△△ | 2 |東京都|練馬区|○○ |□□ | 3 |東京都|目黒区|●● |■■ | 4 |埼玉県|川口市|◇◇ |×× | [Sheet2] 1 | |東京都港区・・・・ 2 | |東京都練馬区・・・・・ 3 | |東京都練馬区○○◎◎ 4 |○|東京都練馬区○○△△ 5 |○|東京都練馬区★○○★□□ 6 | |東京都練馬区★★□□ 7 |○|東京都目黒区●●■■ 8 |○|埼玉県川口市◇◇×× 9 | |神奈川県・・・・・

  • エクセルをcsvで保存する

    こんにちは、是非教えて下さい。 エクセル2007を使用しています。 このファイルはcsvテキスト形式で提出しなければならないのですが、 エクセルsheet1にA列に値を入力して エクセルsheet2のA列に並び替えます。 この項目には前スペース右詰と指定があります。 エクセルsheet2に並び替える際にセルA列に =REPT(" ",12-LEN(sheet1!A1))&sheet1!A1 を入れました(A2、A3、、、と続きます) csvに保存して確認(メモ帳)したら、 エクセルsheet1で値を入力してない所には(下の図の「 _ 」)スペースが入ってしまいました!! (エクセル)        A 1 123456 2 (未入力) (メモ帳)                   ,______123456,,(現在) ,____________,,(現在)             ↓ ,______123456,,(現在と同じ) ,,,(理想) 上の(理想)のように詰めたいのですが よい数式を教えて下さい。 初心者なので説明をいれて頂けると少しは理解できそうです。 よろしくお願いしますm(__)m

  • エクセルのマクロについて

    マクロのコードについて質問させていただきます。 シート1のA1の値をシート2のA1に自動で反映させるマクロを教えていただけないでしょうか。

  • エクセルVBAで困ってます。

    私は今、エクセルVBAで困ってます。 内容はデータを入力したエクセルのシート上で、別のファイル(CSV形式)を開いてある特定の行に入力したデータを参照し、完全に一致した際には、別のファイルの内容をシートに反映させるといったようなことは可能でしょうか? 襲えて下さい。 回答お待ちしています。

  • エクセル マクロでのエクセルファイル取込について

    エクセルで別のエクセルファイルをマクロで取込み、取込したデータを自動で任意の場所にデータが入力されるようなものを作りたいと考えています。 csvデータの取込は作ることが出来たのですが、エクセルファイルをcsvデータのように取込することは出来ないでしょうか? 出来ないとしたら、取込したいエクセルファイルを一度csvで保存してからcsvとして取込するというやり方で対応するしかないでしょうか? 出来れば、取込したいエクセルファイルのシートが複数にわかれていて、全シートの情報を取込したいと考えているので、エクセルのままで全シート取り込めれば・・と思います。 何か上記の方法でなくとも、最善の方法(一番工数が少なく済む方法)があれば教えていただきたいです。 よろしくお願いします。

  • エクセルマクロのコードを隠す

    とあるExcel2003で開けるxlsファイルを貰いました。 セルに値を入力すると、セルの背景の色が変わります。 そういうマクロを組んでいるんだと思ったのですが、 シートに対して「コードを表示する」で見ても何も書かれていません。 プロジェクト欄にはこのシートと[ThisWorkbook]しかなく、 [ThisWorkbook]にも何も書かれていません。 組んだマクロのコードを何かして隠しているのでしょうか? それともエクセルの設定でそのようなことが可能なのでしょうか。

  • エクセルのシートをコピーしたら

    一つのブック内で同じ形式のシートをコピーして複数作りました。 具体的には月報の用紙をひな形を作ってコピーしたのですが、どのシートに入力しても全部のシートに反映されてしまいます。 これを解消するにはどうすればよいのでしょうか? エクセル2007で2003形式で保存してあります。

  • マクロで連続印刷

    いつもお世話になっております。 困っておりますのでお願い致します。 エクセルでSheet1のリスト(住所ろくのようなもの)のデータを Sheet2の特定の形式(はがきのフォーマットのようなもの) に反映させていって(リストの一番うえから入力のある通し番号のところまで) 印刷をするマクロはないでしょうか? ただし、お恥ずかしながら当方はマクロといえば 「マクロを記録⇒操作⇒マクロの保存」程度の知識しかありません。 お手数で申し訳ないのですがご教示下さい。

  • エクセルマクロ

    入力したワークシートを 新しいブックにコピーして保存するマクロを作成しました。 ただ下記の様に保管すると、 数式もそのまま元のエクセルファイルの数式を参照してしまいます。 下記のマクロをあまり変更しないで、 値貼付け(もしくは値貼付けしながら、新しいブックへコピー) するにはどの様に変更するといいでしょうか? よろしくお願いします。 'Sub newfilesave() Sheets("Sheet1").Copy '名前を付け、ファイル形式も決めてデスクトップに日付を付けて保存する。。 'ActiveWorkbook.SaveAs _ ' Filename:="C:\Users\xxxxx\Desktop\" & Format(Now(), "yyyymmdd_hhmm"), _ ' FileFormat:=xlOpenXMLWorkbook 'End Sub

専門家に質問してみよう