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

エクセルvbaの質問です。
エクセルにデータを入力後、クリアボタンを押すと、入力されたデータがクリアされるマクロが組んであるファイルで、
クリアボタンを押しても、データが残っているセルがある場合、どのようなエラーが考えられますでしょうか?
対処法などありましたら教えて頂けませんでしょうか。ら

A 回答 (4件)

そのコード(もちろんクリアの部分だけで構いません)を提示していただかないと何ともお答え出来ません。


ちなみに「クリアボタンを押しても、データが残っているセルがある」とはエラー表示もなく何も起こらないと言う事でしょうか?
    • good
    • 0
この回答へのお礼

GooUserラック様

はい、クリアボタンを押しても何のエラーも無く一部データが残っている状況です。
同じシート内に、計算式が入っており、
消したい部分だけ消えるように組んでもらいました。

クリア部分のコードは

Sub E_clear()
Application.ScreenUpdating=False
Dim I As Long
’各項目の初期化ーーーーーー
’レーザー
Range("B9:O9).Value=""
Range("AC9:AM9”).Value=""

以下セルの指定つづく、

最後は
End Sub

で終わっています。

お礼日時:2017/06/05 15:52

Worksheets("Sheet1").Cells.Clearで行なえばシート一括クリアされる。



多分、行単位とかセル単位で範囲を指定したクリアを使っていると思う。
この場合、データが存在する最終セルとか最終行の判定にミスがあるのでと思います。

例えば、データが連続していて、空白が続き、さらに又データが出現するパターン。
空白を見つけたら、そこを最終だと判定してしまうのが良く有るミスパターン。
    • good
    • 0
この回答へのお礼

t_fumiakiさま

早速のご回答ありがとうございます。
確かにセルの指定されていました。
指定範囲が違っていないか一つづつチェックしてみようと思います。

お礼日時:2017/06/05 15:42

セル結合されている場合、セルの指定方法を間違えるとクリアできない事が結構あります。


クリアされていないセルを確認して、結合セルの左上を指定してみて変わるかお試しください。
例えば「Range("B9:O9).Value=""」は「Cells(9,2).value=""」など

ちなみに「Range("B9:O9).Value=""」は「Range("B9:O9").Value=""」の書き写し間違いですよね!
    • good
    • 0
この回答へのお礼

GoodUserラック様

はい、写し間違えです(^_^;)
そして、クリアできない原因はセルの指定方法の間違いで間違いありませんでした!

分かりやすい説明ありがとうございました!

お礼日時:2017/06/05 20:40

記述ミスかな。



 ・本来動作してほしいコマンド文をコメント行にしている
とか
 ・別のセルをしている
なんてことはありませんか。
必ず同じ個所が残るという事であれば、ピンポイントにその個所の記述ミスの可能性を疑うべきかと思います。
    • good
    • 0
この回答へのお礼

銀鱗さま

はい、
記述ミスでした。

ご回答ありがとうございました!!

お礼日時:2017/06/05 20:41

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