
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
>入力のしかたが間違っているのか、値は消えませんでした。
私は、以下のような書き方をします。
Sub Tests()
On Error Resume Next
With ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants, 23)
.ClearContents
End With
End Sub
UsedRange は、シートのデータある範囲すべてをカバーします。
しかし、SpecialCells の不思議なところは、1つのセルを対象にして以下のようにしても同じになります。
On Error Resume Next
With ActiveSheet.Range("A1").SpecialCells(xlCellTypeConstants, 23)
.ClearContents
End With
そこで、
With ActiveSheet.Range("A:Z").SpecialCells(...
とすると、A列からZ列までの対象とすることも出来ます。
ちなみに、SpecialCells の中の 23 の意味はご存知ですか?
XlSpecialCellsValues クラスの
1 xlNumbers ←引数は、Integer型
2 xlTextValues
4 xlLogical
16 xlErrors
-----------------
合計:23
Dim arg As Integer
arg = xlErrors Or xlLogical Or xlNumbers Or xlTextValues
とすると、ビット演算で、arg =23 となります。
教えて頂いたとおりにやったらうまくいきました!!!
ありがとうございました。(^0^)
せっかく教えて頂いた、23の意味はちょっと理解できませんが、、
まだ、基本も分っていない状態ですのでもっと勉強します!
No.2
- 回答日時:
こんにちは。
>どこか間違っていますか?
間違ってはいないはずですが、おそらくは、Range("A1:C5") の範囲内に、該当する「値のみ」のデータがないからだと思います。
>Range("A1:C5").SpecialCells(xlConstants, 23).ClearContents
一般的には、こうした狭い範囲ではなく、Cells や Range("A1").CurrentRegion や UsedRange という広範囲にしたほうが良いのですが、それでも、見つからないことがありますから、その場合に備えて、#1 さんのおっしゃる On Error トラップを設けます。
ちゃんと動きました。
確かに、今は勉強のためにやっているので狭い範囲でやっていました。
実際の仕事では、もっと広い範囲を使ってデータの範囲は常に変わったりします。
教えていただいている、
Range("A1").CurrentRegion や UsedRange
で試しましたが、入力のしかたが間違っているのか、値は消えませんでした。もし、お願いできるようでしたら#1の方の、
On Error Resume Next
Range("A1:C5").SpecialCells(xlCellTypeConstants, "23").ClearContents
End Sub
でどのように変えたらいいか教えていただけないでしょうか...???
よろしくお願いいたします。m(_ _)m
No.1
- 回答日時:
テストしてみました。
Sub 指定のセル範囲の値だけをクリアする()
On Error Resume Next
Range("A1:C5").SpecialCells(xlCellTypeConstants, "23").ClearContents
End Sub
ちゃんと動きます。
うまくいきません。は具体的にどのようになるのですか?
エラーになる?クリアされない?
A1:C5に入っている数式は、A1:C5の範囲外を参照していませんか?
範囲外の参照されるセルもクリアしないとだめです。
範囲内のセルに値が入っていないと、(クリアした直後など)
「該当するセルが見つかりません。」
のエラーが出ますので、
On Error Resume Next を付けました。
expression.SpecialCells(Type, Value)
のTypeにxlConstants でも動きましたが、
ヘルプで説明されているように、xlCellTypeConstants にしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) VBA ドロップダウンリストを残して値のみクリア 2 2022/10/27 05:42
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Excel(エクセル) Excelのマクロについて 2 2022/06/14 03:38
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
このQ&Aを見た人はこんなQ&Aも見ています
-
数式は残し値をクリアするマクロについてご教示お願いします。 Private Sub CommandB
Visual Basic(VBA)
-
Excelでセル内の数式は残し値だけを削除したい
その他(Microsoft Office)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
6
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
11
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
12
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
13
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
14
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
15
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
16
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
17
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
18
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
-
19
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
20
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
血液検査の結果が悪くefgrの値...
-
風俗店へ行く前のご飯
-
EXCELで式からグラフを描くには?
-
検便についてです。 便は取れた...
-
VLOOKUP関数を使用時、検索する...
-
尿検査前日に自慰行為した時の...
-
納豆食べた後の尿の納豆臭は何故?
-
値が入っているときだけ計算結...
-
勃起する時って痛いんですか? ...
-
2つの数値のうち、数値が小さい...
-
精子が黄色?
-
精子に血が・・・
-
excelでsin二乗のやり方を教え...
-
イタリアから帰国する際、肉製...
-
【Excelで「正弦波」のグラフを...
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
ExcelのVBAでフォームが表示さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
イタリアから帰国する際、肉製...
-
2つの数値のうち、数値が小さい...
-
健否~書類の書き方~
-
VLOOKUP関数を使用時、検索する...
-
値が入っているときだけ計算結...
-
小数点以下を繰り上げたものを...
-
エクセルで空白セルを含む列の...
-
EXCELで条件付き書式で空白セル...
-
リンク先のファイルを開かなく...
-
ある範囲のセルから任意の値を...
-
精子に血が・・・
-
エクセルで数式の答えを数値と...
-
風俗店へ行く前のご飯
-
エクセル指定した範囲からラン...
-
一番多く表示のある値(文字列...
-
Excel 数値の前の「 ' 」を一括...
-
ワードのページ番号をもっと下...
-
MIN関数で空白セルを無視したい...
おすすめ情報