Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11903 / 13645 ツリー ←次へ | 前へ→

【13403】ファイルの保存方法について ピグ 04/5/4(火) 16:08 質問[未読]
【13405】Re:ファイルの保存方法について Asaki 04/5/4(火) 16:37 回答[未読]
【13406】Re:ファイルの保存方法について かみちゃん 04/5/4(火) 16:37 回答[未読]
【13413】Re:ファイルの保存方法について ピグ 04/5/4(火) 18:03 質問[未読]
【13419】Re:ファイルの保存方法について かみちゃん 04/5/4(火) 19:18 回答[未読]
【13425】Re:ファイルの保存方法について ピグ 04/5/5(水) 0:11 お礼[未読]

【13403】ファイルの保存方法について
質問  ピグ  - 04/5/4(火) 16:08 -

引用なし
パスワード
   みなさん、こんにちは。
エクセルファイルを保存して、新規にファイルを作成するやり方を探しています。

例えば、
 ファイル名「集計表」(シートは一つだけではありません。)を、3月分として 保存し(保存する際は、ファイル名を「集計表:3月分」とします。)、更に、 その「集計表」に入力されているデータをクリアにしたものを、改めて
 上書き保存する。 

というようなものです。ちょっと簡単に書きすぎですが、マクロの自動生成でも
うまくできなくて、苦難しております。どなたか、教えていただけないでしょうか? 

【13405】Re:ファイルの保存方法について
回答  Asaki  - 04/5/4(火) 16:37 -

引用なし
パスワード
   こんにちは。

↓のような処理の流れでは?
ThisWorkbook.SaveCopyAs "集計表:3月分.xls"
'データクリア処理
ThisWorkbook.Save

【13406】Re:ファイルの保存方法について
回答  かみちゃん  - 04/5/4(火) 16:37 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> ファイル名「集計表」(シートは一つだけではありません。)を、3月分として 保存し(保存する際は、ファイル名を「集計表:3月分」とします。)、更に、 その「集計表」に入力されているデータをクリアにしたものを、改めて
> 上書き保存する。 

マクロの自動記録でどのようにうまくいかなかったのか、わかりませんが、マクロの自動記録である程度作って微修正すれば、できます。
とりあえず、こんな感じでどうですか?

Option Explicit

Sub Macro1()
  Dim Org_BookName As String
  Dim Target_BookName As String
  
  '現在開いているブック(元のブック(集計表))のフルパスを取得
  Org_BookName = ThisWorkbook.FullName
    
  '上書き確認メッセージを表示しない
  '上書き確認メッセージを表示する場合は、FalseをTrueにする。
  Application.DisplayAlerts = False
  
  '別のブック名(「集計表:○月分」)で保存
  Target_BookName = "集計表:3月分"
  '--- マクロの自動記録で作成、微調整
  ActiveWorkbook.SaveAs Filename:= _
    Target_BookName, FileFormat:=xlNormal, _
    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
    CreateBackup:=False
  'Sheet1の全てのセルの値をクリア
  Sheets(1).Cells.ClearContents

  '元のブック名で保存(フルパス)
  ActiveWorkbook.SaveAs Filename:= _
    Org_BookName, FileFormat:=xlNormal, _
    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
    CreateBackup:=False
  '--- 自動記録おわり
  
  '上書き確認メッセージを既定値に戻す
  Application.DisplayAlerts = True
  
  'マクロ終了メッセージ
  MsgBox "処理を終了しました。"
End Sub

【13413】Re:ファイルの保存方法について
質問  ピグ  - 04/5/4(火) 18:03 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>> ファイル名「集計表」(シートは一つだけではありません。)を、3月分として 保存し(保存する際は、ファイル名を「集計表:3月分」とします。)、更に、 その「集計表」に入力されているデータをクリアにしたものを、改めて
>> 上書き保存する。 
>
>マクロの自動記録でどのようにうまくいかなかったのか、わかりませんが、マクロの自動記録である程度作って微修正すれば、できます。
>とりあえず、こんな感じでどうですか?
>
>Option Explicit
>
>Sub Macro1()
>  Dim Org_BookName As String
>  Dim Target_BookName As String
>  
>  '現在開いているブック(元のブック(集計表))のフルパスを取得
>  Org_BookName = ThisWorkbook.FullName
>    
>  '上書き確認メッセージを表示しない
>  '上書き確認メッセージを表示する場合は、FalseをTrueにする。
>  Application.DisplayAlerts = False
>  
>  '別のブック名(「集計表:○月分」)で保存
>  Target_BookName = "集計表:3月分"
>  '--- マクロの自動記録で作成、微調整
>  ActiveWorkbook.SaveAs Filename:= _
>    Target_BookName, FileFormat:=xlNormal, _
>    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
>    CreateBackup:=False
>  'Sheet1の全てのセルの値をクリア
>  Sheets(1).Cells.ClearContents
>
>  '元のブック名で保存(フルパス)
>  ActiveWorkbook.SaveAs Filename:= _
>    Org_BookName, FileFormat:=xlNormal, _
>    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
>    CreateBackup:=False
>  '--- 自動記録おわり
>  
>  '上書き確認メッセージを既定値に戻す
>  Application.DisplayAlerts = True
>  
>  'マクロ終了メッセージ
>  MsgBox "処理を終了しました。"
>End Sub

ASAKIさん、かみちゃんさん、ありがとうございます。
かみちゃんさんの内容についてですが、今回の質問内容は、「集計表:3月分」ということでしたが、毎月、保存するわけなので、例えば、INPUTBOXやユーザーフォームなどを使って、月を登録し、最終的にファイル名が「集計表:4月分」や「集計表:12月分」といった形にできるものでしょうか?

【13419】Re:ファイルの保存方法について
回答  かみちゃん  - 04/5/4(火) 19:18 -

引用なし
パスワード
   こんちには。かみちゃん です。

>かみちゃんさんの内容についてですが、今回の質問内容は、「集計表:3月分」ということでしたが、毎月、保存するわけなので、例えば、INPUTBOXやユーザーフォームなどを使って、月を登録し、最終的にファイル名が「集計表:4月分」や「集計表:12月分」といった形にできるものでしょうか?

とりあえず、InputBox関数を使った例です。
ユーザーフォームでも、同じようなことはできます。

>>  '別のブック名(「集計表:○月分」)で保存
>>  Target_BookName = "集計表:3月分"

↑の部分を
Target_BookName = "集計:" & InputBox("月を指定してください。", "月指定", Format(Date, "m")) & "月分"
とすれば、
Target_BookNameに「集計:05月分」などと設定されます。

なお、Asakiさんのコードでも以下のようにすれば、できると思います。
Target_BookName = "集計:" & InputBox("月を指定してください。", "月指定", Format(Date, "m")) & "月分"
ThisWorkbook.SaveCopyAs Target_BookName

【13425】Re:ファイルの保存方法について
お礼  ピグ  - 04/5/5(水) 0:11 -

引用なし
パスワード
   かみちゃんさん、Asakiさん、ありがとうございました。
お二人からのご教授を元にやってみましたら、できました。
非常に助かりました。ありがとうございました。

11903 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free