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も見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
自分独自の健康法はある?
こうしていると調子がいい!みたいな自分独自の健康法、こだわりはありますか?
-
【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
「出身中学と出身高校が混ざったような校舎にいる夢を見る」「まぶたがピクピクしてるので鏡で確認しようとしたらピクピクが止まってしまう」など、 これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
数式は残し値をクリアするマクロについてご教示お願いします。 Private Sub CommandB
Visual Basic(VBA)
-
Excelでセル内の数式は残し値だけを削除したい
その他(Microsoft Office)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
5
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
8
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
-
9
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
10
エクセル:式は消さずに数値だけ消す方法
Excel(エクセル)
-
11
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
12
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
13
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
14
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
15
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
16
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
17
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
18
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
19
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
20
エクセルで数式を残して、数字だけ消したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】重複する同じ行を、...
-
vba 印刷設定でのカラー印刷と...
-
Excelの条件付き書式のコピーと...
-
至急お願いいたします 屋上の備...
-
Excel について教えてください。
-
Excelの開始ブックを固定したい...
-
エクセルで、数字ではない値(...
-
関数を教えて下さい
-
エクセルの計算式を教えてくだ...
-
Excel スクロールバーの長さが...
-
ファイル名の変更
-
Excelで項目の種類ごとに番号を...
-
エクセルでセルに入力する前は...
-
エクセルを使ってQRコードを作...
-
エクセルでデータを消して保存...
-
エクセルのセルをクリックする...
-
文字列1"文字列2"文字列3を文字...
-
Excelで、日付と数量からなるデ...
-
Excelで並べ替えをするとおかし...
-
スプレッドシート(Excelでも良...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、数字ではない値(...
-
Excel いい方法教えてください。
-
納期順に勝手に並べ替えられる...
-
エクセルで作成した書類の印刷...
-
Excel初心者です、Excelの日付...
-
エクセルで作った表が印刷する...
-
実務の処理について。
-
AM8:30から翌朝8:30まで勤務す...
-
Excelのデータの入力規則の問題...
-
Excelの罫線を消す方法
-
桁をセルで区切って計算をした...
-
スプレッドシート(Excelでも良...
-
VLOOKUP関数で複数条件を設定に...
-
Excel初心者です。 Excelでやり...
-
エクセルでAのセルに「家電」と...
-
ファイルとフォルダの移動につ...
-
XMLHTTP60で前日のデータが取れ...
-
ファイルパスについて。
-
エクセルの数式について教えて...
-
スプレッドシートで適切な条件...
おすすめ情報