- ベストアンサー
2つのマクロを挿入すると動作せず
現在、C10に値が入力されるとG4に発行日が表示される 下記のマクロを入力しています。 1 発行日の日付 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$C$10" Then Target.Offset(-6, 2).Value = Date End If End Sub この上のマクロのみは上手く作動しています。 ファイル名を自動で保存するために下記のマクロをしたいので追加しました。 2 ファイル名の自動保存 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 1 And Target.Column = 1 Then ActiveSheet.Name = Target.Value ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Target.Value End If End Sub 3 上記の1+2で下記の如くし、いろいろトライをしていますが 上手くゆきません。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 1 And Target.Column = 1 Then ActiveSheet.Name = Target.Value ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Target.Value End If If Target.Address = "$C$10" Then Target.Offset(-6, 2).Value = Date End If End Sub ブック内は次のようなファイルです。 Sheet1(納品請求書1)~Sheet3(納品請求書3) Sheet4(月請求書) Sheet5(顧客登録) Sheet6(設定) Sheet7(領収書) Sheet8(file) ここのA1に保存したいファイル名を入れています。 上手く表示されません。 困っています。 ここでご教授いただきたいのは 2のみのマクロだと問題なく「ファイル名とシート名」が自動的に表示され保存ができます。 私のやり方に何か問題があると思います。 上記の1(発行日の日付け)+2(ファイル名の自動保存)したときにはうまくいかず何かいい方法がないでしょうか。 お知恵をお貸し下さい。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (9)
- Wendy02
- ベストアンサー率57% (3570/6232)
- imogasi
- ベストアンサー率27% (4737/17070)
- n-jun
- ベストアンサー率33% (959/2873)
- Wendy02
- ベストアンサー率57% (3570/6232)
- Wendy02
- ベストアンサー率57% (3570/6232)
- n-jun
- ベストアンサー率33% (959/2873)
- n-jun
- ベストアンサー率33% (959/2873)
- xls88
- ベストアンサー率56% (669/1189)
- n-jun
- ベストアンサー率33% (959/2873)
お礼
自分で何とか試行錯誤の上、解決策を見いだしました。 スマートでない方法かも知りませんがご報告します。 従来のブック内容が、 Sheet1(納品請求書1)~Sheet3(納品請求書3) Sheet4(月請求書) Sheet5(顧客登録) Sheet6(設定) Sheet7(領収書) Sheet8(file)※ここのA1に「付けたいファイル名」をまとめました。 で自動保存のマクロを挿入したSheet9、 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 1 And Target.Column = 1 Then ActiveSheet.Name = Target.Value ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Target.Value End If End Sub を追加してそのA1にSheet8のA1の値をコピーしてSheet9のA1に値のみを貼り付けしたら解決しました。 大変忙しいところをご迷惑を掛けながらご協力をいただいたことに心から感謝します。 本当に有難うございました。 今後ともよろしくご指導重ねて宜しく御願いします。
補足
おっしゃるように元々作成しているブックに新たに自動保存するシートを追加するとだめです。 ここで言う追加部分を先にして元々のファイルを追加してゆくと1回だけはA1 (仮にABCを)に値を入れるとすぐに シート名がSheet1名とファイル名がABC になり変わります。 2回目からは何の反応もなくだめです。 このブックは元本として残し使います。 テストはコピーを作成しています。 言葉としての説明は難しいですね。 本当にご協力いただき有難うございます。 いつ保存したいのですか? 提示したコードだとセルの値を変えるたびに保存する事になりますが、 そうではなく最終的に保存する時にと言う事ですか? Sheet1(納品請求書)からは注文の数だけSheet(納品請求書)数は増えますが保存はSheet1の納品請求書に必要な事項を入力したときにブックとして「名前を付けて保存」します。 これはブックで色んなシートがふくまれています。 1つの会社で毎月このブックを作成しています。 因みに OSはXP エクセル2003です