エクセルマクロでファイルを開いて保存したいです。
エクセルマクロでファイルを開いて保存したいです。
エクセルファイルでファイル名「編集」という物を開きます。
このSheet1には中央にコマンドボタンが作成して有ります。
このボタンをクリックして以下の作業をマクロで行いたいです。
1.エクセル標準の「ファイルを開く」のメッセージボックスが開く
2.ここは使用者が作業をしてもらう
マイドキュメントだったり、マイネットワークだったり、
(ファイルの種類はCSVにする)
処理をしたいCSVファイルを探してもらい選択後、開くをクリック
例えば20100922.CSVを選択し開くをクリック
3.クリックと同時にそのファイルが展開されて、「編集」のエクセルファイルの
Sheetにシート名「集計」が作成されそのシートにCSVファイルの全内容がセルA1から貼り付く。
さらに登録してあるマクロモジュールで編集処理がされ
マクロを引き継がず、シート「集計」だけを
ファイル名は固定でそのファイル名の後ろに作成日(システム日付)を入れて
参照したCSVファイルの保管場所に保存する。
ファイル名例:売上20100923.xls(売上は固定)
4.エクセル「編集」のファイルからシート「集計」を削除する。
5.メッセージBOXで「編集終了」と表示
次回エクセルファイル「編集」を開くと、コマンドボタンだけである。
また作成された「売上20100923」はマクロがないから開くときに
マクロのメッセージは出ない。というようにしたいです。
NO.2のファイルを選択する作業は作業者にしてもらいますが
シート1のコマンドボタン1回を押すだけでNO.1~NO.5まで完結させたいです。
NO.3のマクロ処理はマクロの記録でモジュールができています。
このマクロの作成方法と、そのマクロが出来たら
その文のどこに作成済みの処理文を入れればいいのかわかりません。
よろしくお願いします。
ここでつまづいています。この後この選択したファイルの全内容が
シートの集計に展開されません。
Private Sub CommandButton1_Click()
Call 集計
End Sub
Sub 集計()
FullPath = Application.GetOpenFilename("CSV,*.CSV")
If FullPath <> "False" Then
Sheets("Sheet1").Select
Sheets.Add
ActiveSheet.Name = "集計"
With ActiveSheet.QueryTables.Add(Connection:="CSV;" & FullPath, Destination:=Range("A1"))
マクロの記録で作成したマクロ
シート"集計"をマクロを引きつかずファイル名売上&システム日付で保存
シート"集計"を削除する
お礼
ファイルが壊れてしまったのですね。。悲しい。。 教えてくれてありがとうございます。これで未練がましくファイルを探すのは辞めて作りなおす決心ができました。