Range(”A1:A6”)にデータが入っていますが、そのうちA3、A4、A5セルは
結合されています。Range(”A1:A6”)のデータをクリアするために以下
コーディングをしましたが、結合セルの先頭でエラー(実行時エラー 1004)に
なってしまいます。
結合セルのデータクリアはどのようにすればいいのでしょうか。
お分かりの方よろしくご教示ください。
Sub Sample()
Dim i As Long
For i = 1 To 6
Cells(i, 1).ClearContents
Next i
End Sub
No.5ベストアンサー
- 回答日時:
横から失礼。
ちょっと不思議な展開のような気がしてます。
Range("A1").Value = ""
セルの表示形式が文字列の場合は本当の空白セルになりませんよね?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MsgBox IsEmpty(Range("A1"))
それに
Range("A65536").End(xlUp).Select
そもそも
Range("A1:A6").ClearContents
?
私が何か勘違いしてるのかしらん?
#ひょっとしてA3:A5が結合してるのではなくてそれぞれが横方向に結合してたりするのかなぁ。
#その場合でもRange("A1:A6").Value = Emptyで良いはずだけど。
解答ありがとうございました。
話が難しくなってきましたが、結局、一部(A3:A5)が結合している範囲(A1:A6)のデータをクリアするには、(1)または(2)が良いということでしょうか。
(1)Range("A1:A6").Value = Empty
(2)Range("A1:A6").MergeArea.ClearContents
No.8
- 回答日時:
myRangeです。
Empty、失念しておりました。。(^^;;;
何れにしろ当方のコメントで質問者を混乱させてしまったようで
申し訳ありませぬ。
で、ちょと整理してみますと、セルA3:A5が結合セルとして。
●ClearContentsメソッドは結合セルの一部を指定できない●
Range("A3:A5").ClearContents
のように結合セル全セルを指定するのはいいが、
質問者のコードのように
range("A3").ClearContents
と、結合セルの一部指定はできない。
Range("A1:A6").ClearContents
これは、結合セル(A3:A5)が全て含まれているのでOK。
このようにClearContentsメソッドで結合セルをクリアーする場合は
そこら辺りの煩わしさがあるので、あっさりと
Range("A1:A6").Value = Empty
Emptyを代入した方がいいのかも知れません。
------------------------------------------------------
今回は改めて基本的な事柄を再確認することができ
end-uさん、MackyNo1さん、質問をしてくださったyamato99さん
お三方に感謝せねばなりません。
ありがとうございました。
以上です。
No.7
- 回答日時:
>Range("A1").Value = ""
セルの表示形式が文字列の場合は本当の空白セルになりませんよね?
end-uさん、ご指摘ありがとうございます。
ご指摘のように、文字列のセルには、空白文字列が代入されてしまいますね。
私は、VBAについては入門書を読んだだけで、ほとんど参考書を読まず、必要に応じて試行錯誤して実戦的に覚えた自己流のマクロなので、実際に不都合が発生するまで問題に気がつかないこともたびたびありました(それで少しずつノウハウがわかるようになってきましたが)。
今回のようなコードを使用した場合はRange("A65536").End(xlUp).Selectなどで最下行セルを特定するときなどに、確かに問題が発生する可能性がありますね。
これまでは、どうにか解決するという場当たり的な対応していましたが、これを機会に少し上級の参考書でVBAを基本から勉強してみようかと思っています。
No.4
- 回答日時:
MackyNo1さん、
的確なご指摘、感謝しまします。
仰るとおりです。
エクセル側とVBAをごちゃまぜにしていたようです。(^^;;;
質問者さん、回答2の
「数値が入るべきセルに””を入れると拙い場合云々」
は無視願います。
MackyNo1さんの回答は勉強になるものが多いので
目につくと必ず見るようにしています。
これからも目から鱗の回答期待しています。
今回はありがとうございました。
以上です。
No.3
- 回答日時:
MyRangeさん
>●長さ0の文字列””を代入する場合
>数値が入るべきセルに””を入れると拙い場合がありますよね。
VBAの「""」は関数で使用する場合の「""」と違って、本当の空白セルになると思うのですが(「=TYPE(A1)」で1が返ります)、どのような場合に不都合がでるのでしょうか?
後学のために教えていただけると幸いです。
No.2
- 回答日時:
ClearContentsと""(長さ0の文字列)は、
クリアーといっても意味が違いますので。。
●ClearContentsを使う方法
この方がセルの内容が初期値になるのでお勧めです。
'-----------------------------------------------
Sub test11()
Dim i As Long
For i = 1 To 6
Cells(i, "A").MergeArea.ClearContents
Next i
End Sub
'----------------------------------------------
●長さ0の文字列””を代入する場合
数値が入るべきセルに””を入れると拙い場合がありますよね。
'--------------------------------------
Sub test22()
Range("A1:A6").Value = ""
End Sub
'--------------------------------------
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
【選手権お題その3】この画像で一言【大喜利】
とあるワンシーンを切り取った画像。この画像で一言、お願いします!
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
VBAで結合したセルがクリアできない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelでSUBTOTAL関数を設定した...
-
エクセル ボタンを押すとセルの...
-
EXCELで、結合されたセルに連続...
-
セルを結合した場合の関数(COU...
-
エクセルで片方のセルに入力し...
-
エクセルでチェックボックスを...
-
VBAで結合したセルがクリアでき...
-
Excel 離れたセルへの連続デー...
-
Excel セルを結合したものを抽...
-
エクセルで作業した日の日付を残す
-
エクセルでセルをクリックして“...
-
セルの値を取得してSQL文に組み...
-
エクセルでたくさんのセルを小...
-
Excelのカウントアップボタンに...
-
EXCEL セル結合したセルを参照...
-
VBAで困っています。
-
CONCATENATE関数の表示書式の変更
-
Rangeを決まったセルではなく、...
-
【EXCEL】条件に合致するセルの...
-
Excelの表に自動でナンバリング...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelでSUBTOTAL関数を設定した...
-
エクセル ボタンを押すとセルの...
-
EXCELで、結合されたセルに連続...
-
エクセルでチェックボックスを...
-
セルを結合した場合の関数(COU...
-
エクセルで片方のセルに入力し...
-
Excel 離れたセルへの連続デー...
-
VBAで結合したセルがクリアでき...
-
エクセルでセルをクリックして“...
-
【EXCEL】条件に合致するセルの...
-
セルの値を取得してSQL文に組み...
-
エクセル 結合セル内に空白なら...
-
Excel セルを結合したものを抽...
-
VBAで困っています。
-
Excelのカウントアップボタンに...
-
EXCEL セル結合したセルを参照...
-
エクセルで作業した日の日付を残す
-
エクセルでたくさんのセルを小...
-
Excel2007 セルの削除について
-
「数式は隣接したセルを使用し...
おすすめ情報