プロが教えるわが家の防犯対策術!

WINDOWS XP EXCELL 2003です。

「値のクリァー」のマクロはすでに、
ここで御指導いただいたマクロは下記です。
http://oshiete.goo.ne.jp/qa/6663748.html

Sub Clear()
On Error Resume Next
range("H2,G4,C10,C15,F15,G15").SpecialCells(xlCellTypeConstants).ClearContents
End Sub
上記マクロは「納請書3」にそうにして「シート追加」で「納請書4」作成したところ下記のマクロを実行すると「納請書3」のシートの値がクリアーになります。

御指導いただきたいのは既に「納請書3」値が有りこれはクリアーしたくありません。
新たにシートを追加してゆくと前のシートの値か残り追加シートの値をクリアーするにはクリアーは可能でしょうか。
もし可能ならば「値のクリアー」のマクロをどう変更すればいいのかご教授いただけないでしょうか。
よろしく御願いします。

※ 参考で既に「納請書3」のシートには下記マクロの2点が登録しています。
1  「シートの追加」のマクロが下記です。
Sub シートの追加()
   Dim NewNo As Integer
  NewNo = Sheets("月請求書").Index
Sheets("納請書3").Copy Before:=Sheets("月請求書")
  ActiveSheet.Name = "納請書" & NewNo
  ActiveSheet.Range("G4").Value = ""
End Sub
2  日付とシート表示の色付け
   Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$10" Then
Target.Offset(-6, 2).Value = Date
End If
If Target.Address = "$G$15" Then
ActiveSheet.Tab.ColorIndex = 49
End If
End Sub

「シートの移動又はコピー したシートの値の」の質問画像

A 回答 (1件)

【暫定的な対応】


変更前:
range("H2,G4,C10,C15,F15,G15").Specia…

変更後:
activesheet.range("H2,G4,C10,C15,F15,G15").Specia…

#使い方:
追加した新しいシート(削除したいセルが実際に載っているシート)を表に出した状態でマクロを動かすこと


#ご注意
ご相談投稿時には「寄せられた回答をコピーして掲示する」のではなく,実際にあなたがブックに登録したそのマクロをコピーして,今はこれで動かしていますと掲示してください。あなたが実際に合わせて直した部分が,不具合の原因になっている場合もままあります。



【抜本的な間違いの修正】
>上記マクロは「納請書3」にそうにして…
>既に「納請書3」のシートには下記マクロの2点が登録しています。

納品書3に登録済みの「日付とシート表示の色付け」についてはそれで間違いありませんが,今回の「値のクリァー」と「シートの追加」の2つのマクロについては,納品書3のシートに登録するものではありません。今回ご相談の不具合も,本質的にはこの点の間違いが原因です。

正しい手順:
ALT+F11でVBE画面を出します
挿入メニューから標準モジュールを挿入して作業中のブックのVBAProjectに追加します
現れたシートに「値のクリァー」と「シートの追加」を記載します
納品書3に登録した「値のクリァー」と「シートの追加」は消しておきます
    • good
    • 0
この回答へのお礼

何度無く御世話かけます。

御指導いただいた、

【抜本的な間違いの修正】と正しい手順:

については忠実に履行してテストしました結果、うまくできました。

本当にありがとう御座いました。
今後ともよろしく御願いします。

お礼日時:2011/04/15 16:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!