Excel VBA質問箱 IV

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

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


8538 / 13646 ツリー ←次へ | 前へ→

【32715】シートのコピー toshi 05/12/21(水) 10:43 質問[未読]
【32718】Re:シートのコピー Statis 05/12/21(水) 11:24 発言[未読]
【32720】Re:シートのコピー Jaka 05/12/21(水) 11:56 回答[未読]
【32729】Re:シートのコピー Kein 05/12/21(水) 13:31 回答[未読]

【32715】シートのコピー
質問  toshi  - 05/12/21(水) 10:43 -

引用なし
パスワード
   同じフォーマットのシートが何枚も有るのですが、入力項目が違う場合に
シートをコピーした時に、消したり、移動させたりするのが大変なので
シートコピーした時に、入力した箇所(指定箇所)を空白にする事は出来るのでしょうか

お願い致します。

【32718】Re:シートのコピー
発言  Statis  - 05/12/21(水) 11:24 -

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

>シートコピーした時に、入力した箇所(指定箇所)を空白にする事は出来るのでしょうか
出来るか出来ないかなら。出来ます。

指定箇所なら「マクロの記録」で試されては。

【32720】Re:シートのコピー
回答  Jaka  - 05/12/21(水) 11:56 -

引用なし
パスワード
   消す場所が決まっているなら、コピーした時でなくコピー後に消したらどうですか?
消すマクロをボタン等に登録しておけば1プッシュで済むし。
コピーした時にこだわるなら、コピーイベントが用意されていないから自分で作るしかないと思います。

他、原本を非表示にしておき非表示にしておく、コピーはその原本をコピーして表示。
これだとこんな感じになります。

Dim Ws As Worksheet, CopSh As String
CopSh = "Sheet3"
Sheets(CopSh).Copy After:=Sheets(Sheets.Count)
For Each Ws In ThisWorkbook.Worksheets
  If Ws.Visible <> True And Ws.Name <> CopSh Then
    Ws.Visible = True
    Exit For
  End If
Next

【32729】Re:シートのコピー
回答  Kein  - 05/12/21(水) 13:31 -

引用なし
パスワード
   ThisWorkbookモジュールへ入れるマクロに、新規シートの挿入をトリガーにする
イベントがあります。そこへ定型のフォーマットを設定するコードを書いておけば、
"コピー&値のクリア" でなくても便利に使えると思います。

Private Sub Workbook_NewSheet(ByVal Sh As Object)
  MsgBox Sh.Name
End Sub

を入れて、ワークシートメニューの「挿入」「ワークシート」を選択してみて
下さい。(↑は、もちろんテスト用のコードですから、フォーマット設定のコードは
自分で書いて下さい)
あとイベントではないですが、こーいうのは "テンプレート・シート" を使うのが
一般的なようです。ヘルプで調べてみて下さい。

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