
数式は残し値をクリアするマクロについてご教示お願いします。
Private Sub CommandButton3_Click
Dim msg As Integer
Dim i As Integer
Dim LastRow As Integer
msg = MsgBox(”初期化しますか?”,vbYesNo)
If msg = vbYes Then
Cells(8,8).Select
LastRow = Range(”H65536”).End(xlUp).Row
For i = 8 To LastRow
If Cells(i,8) = ”予算” Or _
Cells(i,8) = ”実績” Then
Range(Cells(i,9),Cells(i,15)).SpecialCells(xlConstants,23).ClearContents
EndIf
Next i
これで実行するもエラー1004となり、
9〜11列は値がクリアになりますが、
12〜15列目はクリアになりません。
★12〜15列のみ関数が入ってます。
なぜ数式が入ってない列のみクリアになり、エラーとなるのでしょうか?
No.2ベストアンサー
- 回答日時:
>VLOOKUPなどで他からひっぱっており、全部金額が入ってます。
>この金額だけ消したいんですm(_ _)m
関数式が入っているのですから、当然ながらセルには関数式の答えが表示されます。
それを消したいと言うことは、式を消すか、または引っ張ってきている元のデータを変更することになるのではないでしょうか??
あるいは、特定の条件下でのみ式の答えを表示させたくないということでしたら、セルの関数式でIFを使って条件設定する方法になるかと。
No.1
- 回答日時:
数式は残し、値をクリアしたいのですよね?
ならば SpecialCells(xlConstants,23) であってますし、関数式の入った12〜15列目がクリアされないのは思惑通りではないのでしょうか?
>これで実行するもエラー1004となり、
お書きになったコードからエラーになるような要因は見当たらないので、エラーの原因はこの続きのコードにあるのではないかと推測します。
回答ありがとうございます!
元々9〜11列目は0が入ってて、
実行したら0もなくなったのでこれは問題ないです。
12〜は
VLOOKUPなどで他からひっぱっており、全部金額が入ってます。
この金額だけ消したいんですm(_ _)m
エラーの原因調べてみます、ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
Excelでセル内の数式は残し値だけを削除したい
その他(Microsoft Office)
-
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
-
4
エクセル:式は消さずに数値だけ消す方法
Excel(エクセル)
-
5
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
6
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
7
エクセルで数式を残して、数字だけ消したい
Excel(エクセル)
-
8
マクロ 特定のセル値のみクリアする
Visual Basic(VBA)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
ACCESSで値を代入できないとは?
-
【VBA】ワークブックを開く時に...
-
VBS Script のエラーについてお...
-
Excel VBA のFunctionプロシー...
-
実行時エラー 438 の解決策をお...
-
On ErrorでエラーNoが0
-
レコード登録時に「演算子があ...
-
マクロで"#N/A"のエラー行を削...
-
インポート時のエラー「データ...
-
pythonのopenpyxlについて
-
ステートメントが見つかりません
-
VB.net 重複チェックがしたいです
-
VBA データ(特定値)のある最...
-
スクリプト エンジンの例外が発...
-
ASPでこんなエラーが出たんです...
-
ACCESS DAO で不要なテーブルの...
-
教えてください。FTPアップロー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
String""から型'Double'への変...
-
【Access】Excelインポート時に...
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
ACCESSで値を代入できないとは?
-
VBA エクセル で FIND でのエラ...
-
Filter関数を用いた結果、何も...
-
レコード登録時に「演算子があ...
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
【VBAエラー】Nextに対するFor...
-
実行時エラー 438 の解決策をお...
-
「実行時エラー '3167' レコー...
おすすめ情報
On Error Resume Next
with Range〜
Endwith
で、初期化完了までいきましたが、
やはり12列目の値はきえません。