| 
    
     |  | >Range("A1:OH4,A11:OH11,A13:OH14,A18:OH18,A25:OH25,A31:OH31,A33:OH33,A35:OH35,A61:OH61,A64:OH65,A67:OH67,A71:OH72,A84:OH84, >A88:OH88,A90:OH90,A104:OH104,A107:OH108,A110:OH110,A114:OH114,A132:OH133,A151:OH151,A157:OH157,A160:OH160,A167:OH167,
 >A175:OH175,A184:OH184,A211:OH211,A205:OH205").Copy
 >  ThisWorkbook.Activate
 >  Sheets("OTHER").Select
 >  Range("A2").PasteSpecial Paste:=xlPasteValues, Transpose:=True
 Sub test()
 Dim add As String
 add = "A1:OH4,A11:OH11,A13:OH14,A18:OH18,A25:OH25,A31:OH31,A33:OH33,A35:OH35,A61:OH61,A64:OH65,A67:OH67,A71:OH72,A84:OH84,A88: OH88,A90:OH90,A104:OH104,A107:OH108,A110:OH110,A114:OH114,A132:OH133,A151:OH151,A157:OH157,A160:OH160,A167:OH167,A175:OH175,A184:OH184, A211:OH211,A205:OH205"
 MsgBox Len(add)
 Range(add).Copy
 End Sub
 
 
 セルアドレス文字列長が255を超えると、
 range("xxx")は、提示されたようなエラーに成ります。
 
 この255を意識したコードにしなければなりません。
 
 かと言って、単純に255で切るって訳には行きませんしね!!
 
 既に提示されているようにUnionメソッドは、有効方法ですが、
 これとて、セルアドレスが多くなると、処理速度が、極端に落ちますから、
 注意が必要です。
 
 
 www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=54;id=FAQ
 
 ↑目安箱より、「トロイぞUnion」
 
 |  |