[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Sheetのコピー』(PONATA)
Sheetのコピーについて質問させていただきます。少し複雑なのですが 下のCODEに追加してSheet1を別のBookにコピー&移動するマクロを考えていまして 移動先のBook名に規則性も持たしたく、自動で○○071126.xls というファイル名を 指定してマイドキュメントに保存したいと考えています。
○○はSheet1のA2を参照したいと思っています。 日時については、いつマクロを実行しても 今日の日付にする方法と、日付の前のファイル名に A1を反映させる方法は無いものでしょうか? もしお分かりになりましたら教えて下さい。よろしくお願いします。
Sub コピー()
Sheets(Array("Sheet1", "Sheet2")).Select
Sheets("Sheet2").Activate Sheets(Array("Sheet1", "Sheet2")).Copy ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\*****\My Documents\○○071128.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False
End Sub
こんな感じになろうかと思いますが (SHIOJII)
>○○はSheet1のA2を参照したいと思っています。 の場合
Sub コピー() Sheets(Array("Sheet1", "Sheet2")).Select
' Sheets("Sheet2").Activate Sheets(Array("Sheet1", "Sheet2")).Copy ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\*****\My Documents\" _ & Sheets("Sheet1").Range("A2").Value & Format(Date, "yymmdd") & ".xls" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ ' ↑シート1のA2 ↑今日の日付 End Sub
(SHIOJII)さま 完全に思い通りに動きました。大変役立ちました。ありがとうございます。(PONATA)
またまた問題が発生してしまいました。 教えていただいた下記CODEでファイル名"○○071127.xls" というファイル名が自動作成&保存されましたが、1日に2回同じ作業をした場合 「この場所に*******という名前のファイルが既に有ります。置き換えますか?」 と聞いてきます。上書きされては困るので「いいえ」をクリックすると
実行時エラー1004': 'SaveAs'メゾッドは失敗しました。'_WorkBook'オブジェクト
というエラーが出てしまいます。こういう時、ファイル名を"○○071127-2.xls" または時刻もファイル名に入れ"○○071127 15:12.xls" として自動で保存することは出来ないものでしょうか? 宜しくお願いします。 (PONTA)
Sub コピー() Sheets(Array("Sheet1", "Sheet2")).Select
' Sheets("Sheet2").Activate Sheets(Array("Sheet1", "Sheet2")).Copy ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\*****\My Documents\" _ & Sheets("Sheet1").Range("A2").Value & Format(Date, "yymmdd") & ".xls" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ ' ↑シート1のA2 ↑今日の日付 End Sub
ファイル名は、「Sheet1のA2」&「今日の日付」.xls ですよね。 では、ここに現在の時刻(時:分:秒)を追加してみてはどうでしょう。
Format(Time, "h:mm:ss")
これだったら、相当がんばらない限り、大丈夫かと… (くみりん)
コロンはファイル名に使えないので、 > ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\*****\My Documents\" _ > & Sheets("Sheet1").Range("A2").Value & Format(Date, "yymmdd") & ".xls" ↓ ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\*****\My Documents\" _ & Sheets("Sheet1").Range("A2").Value & Format(Date, "yymmddhhmm") & ".xls" にするとか。 あとは、乱数などを最後につけてFSOなどでファイルの存在を調べてから、大丈夫ならば保存。 そうでなければ、再度乱数をつけるとか。 (ROUGE)
> & Sheets("Sheet1").Range("A2").Value & Format(Date, "yymmddhhmm") & ".xls" は & Sheets("Sheet1").Range("A2").Value & Format(Now, "yymmddhhmm") & ".xls" ?? ^^^^ (seiya)
失礼しました<(__)> (ROUGE)
(くみりん) さま、(seiya)さま、(ROUGE)さま ありがとうございます。おかげ様で無事解決しました。 (PONTA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.