プロが教えるわが家の防犯対策術!

色を付けてある結合セルセルが一部消えません。下のはマクロ記録してそのまま使っているものですが、なぜ消えないのか分かりません。
ちょっとたくさんありすぎてゴチャゴチャしていて恐縮ですが、消えない部分は。
AM42:AO43,AR42:AX43,BD42:BJ43,F45:T46,V45:AJ46の部分です。
使用上のクセとかなんかあるんでしょうか?


Union(Range( _
"F57:T58,V57:AJ58,AM57:AO58,AR57:AX58,BD57:BJ58,F60:T61,V60:AJ61,AM60:AO61,AR60:AX61,BD60:BJ61,AV7:BC8,AU9:BC10,D16:AC17,G18:H19,O22:P23,W24:AE25,R32:AV34,F42:T43,V42:AJ43,AM42:AO43,AR42:AX43,BD42:BJ43,F45:T46,V45:AJ46,AM45:AO46,AR45:AX46,BD45:BJ46,F48:T49" _
), Range( _
"F51:T52,V51:AJ52,AM51:AO52,AR51:AX52,BD51:BJ52,F54:T55,V54:AJ55,AM54:AO55,AR54:AX55,BD54:BJ55" _
)).Select
Range("BD60").Activate
Union(Range( _
"F57:T58,V57:AJ58,AM57:AO58,AR57:AX58,BD57:BJ58,F60:T61,V60:AJ61,AM60:AO61,AR60:AX61,BD60:BJ61,G65:T66,AM65:AO66,BD65:BJ66,G69:T70,AM69:AO70,BD69:BJ70,BB76:BJ78,AI80:AM81,AV7:BC8,AU9:BC10,D16:AC17,G18:H19,O22:P23,W24:AE25,R32:AV34,F42:T43,V42:AJ43" _
), Range( _
"AM45:AO46,AR45:AX46,BD45:BJ46,F48:T49,V48:AJ49,AM48:AO49,AR48:AX49,BD48:BJ49,F51:T52,V51:AJ52,AM51:AO52,AR51:AX52,BD51:BJ52,F54:T55,V54:AJ55,AM54:AO55,AR54:AX55,BD54:BJ55" _
)).Select
Range("AI80").Activate
Selection.Interior.ColorIndex = xlNone

A 回答 (2件)

提示されたコードのうち


Range("BD60").Activate の前は意味がありません。
それ以降の部分にAM42:AO43,AR42:AX43,BD42:BJ43,F45:T46,V45:AJ46が含まれてないのでは?
ほんとにごちゃごちゃなのでよくはわかりませんが。

Sub test01()
Union(Range( _
"F57:T58,V57:AJ58,AM57:AO58,AR57:AX58,BD57:BJ58,F60:T61,V60:AJ61,AM60:AO61,AR60:AX61,BD60:BJ61,G65:T66,AM65:AO66,BD65:BJ66,G69:T70,AM69:AO70,BD69:BJ70,BB76:BJ78,AI80:AM81,AV7:BC8,AU9:BC10,D16:AC17,G18:H19,O22:P23,W24:AE25,R32:AV34,F42:T43,V42:AJ43" _
), Range( _
"AM45:AO46,AR45:AX46,BD45:BJ46,F48:T49,V48:AJ49,AM48:AO49,AR48:AX49,BD48:BJ49,F51:T52,V51:AJ52,AM51:AO52,AR51:AX52,BD51:BJ52,F54:T55,V54:AJ55,AM54:AO55,AR54:AX55,BD54:BJ55,AM42:AO43,AR42:AX43,BD42:BJ43,F45:T46,V45:AJ46" _
)).Interior.ColorIndex = xlNone
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。全然気づきませんでした。ホントだっと思いました。

お礼日時:2008/05/09 18:53

こんばんは。



単に、マクロらしく書けば、このようになるのでは?
ループできるところは、ループして、全部、Union でつなげる必要はないような気がします。ただし、結合セルの具合によっては、うまくいかない可能性はあります。

Sub TestMacro1()
Dim i As Long
Dim j As Long
Const iColor = xlNone
Application.ScreenUpdating = False
With ActiveSheet
 For i = 42 To 60 Step 3
  .Cells(i, 6).Resize(2, 15).Interior.ColorIndex = iClolor
  .Cells(i, 22).Resize(2, 15).Interior.ColorIndex = iClolor
  .Cells(i, 39).Resize(2, 3).Interior.ColorIndex = iClolor
  .Cells(i, 44).Resize(2, 7).Interior.ColorIndex = iClolor
  .Cells(i, 56).Resize(2, 7).Interior.ColorIndex = iClolor
 Next i
 For j = 65 To 69 Step 4
  .Cells(j, 7).Resize(2, 14).Interior.ColorIndex = iClolor
  .Cells(j, 39).Resize(2, 3).Interior.ColorIndex = iClolor
  .Cells(j, 56).Resize(2, 7).Interior.ColorIndex = iClolor
 Next j
  .Cells(16, 4).Resize(2, 26).Interior.ColorIndex = iClolor
  .Cells(18, 7).Resize(2, 2).Interior.ColorIndex = iClolor
  .Cells(24, 23).Resize(2, 9).Interior.ColorIndex = iClolor
  .Cells(22, 15).Resize(2, 2).Interior.ColorIndex = iClolor
  .Cells(32, 18).Resize(3, 31).Interior.ColorIndex = iClolor
  .Cells(9, 47).Resize(2).Interior.ColorIndex = iClolor
  .Cells(7, 48).Resize(4, 8).Interior.ColorIndex = iClolor
  .Cells(22, 15).Resize(2, 2).Interior.ColorIndex = iClolor
  .Cells(76, 54).Resize(3, 9).Interior.ColorIndex = iClolor
  .Cells(80, 35).Resize(2, 5).Interior.ColorIndex = iClolor
 End With
 Application.ScreenUpdating = True
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。うまくいきました。あんなゴチャゴチャしている中で、規則性を見つけてループさせるように考えることができるなんてすごいです。私は何時間もやってましたが・・・

お礼日時:2008/05/09 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!