こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel VBAで結合セルの扱いが失敗します。

KenKen_SPさんの素晴らしいコードを参考に、特定の色のセルにおいてのみ、テキストを削除するマクロが以下です。このままでは結合セルのあるエクセルシートでエラーになってしまいます。

これを解決できませんでしょうか。よろしくお願いします。

For i = 1 To ThisWorkbook.Worksheets.Count

ThisWorkbook.Worksheets(i).Select
Dim C As Range
For Each C In ActiveSheet.Range("A1:M55")
If C.Interior.ColorIndex = 6 Then '6 - YELLOW
C.ClearContents
End If
Next
Next

投稿日時 - 2013-07-31 11:07:20

QNo.8199619

暇なときに回答ください

質問者が選んだベストアンサー

こんにちわ

>If C.Interior.ColorIndex = 6 Then '6 - YELLOW
>C.ClearContents

If C.MergeArea.Interior.ColorIndex = 6 Then '6 - YELLOW
C.MergeArea.ClearContents

投稿日時 - 2013-07-31 12:40:54

お礼

このやり方だと結合セルしか処理されないかと思いましたが
そんなことはなく、通常のセルもきれいに処理されました。

ありがとうございました。

投稿日時 - 2013-07-31 23:54:07

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

文字をクリアするのでは無く、空白を入力にすれば良いのでは?
結合セル、結合していないセル両方とも空白になります。
C.ClearContents
  ↓
C.Value = ""

ご参考まで

投稿日時 - 2013-07-31 12:50:29

お礼

空白処理にすればうまくいきました。
なぜクリアはダメでこちらはよいのか、文句を言いたくなるところですが
ともかく大成功です。

ありがとうございました。

投稿日時 - 2013-07-31 23:56:19

あなたにオススメの質問