Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2585 / 13646 ツリー ←次へ | 前へ→

【67077】色つきセル全選択 MMM 10/10/31(日) 17:14 質問[未読]
【67078】Re:色つきセル全選択 ichinose 10/10/31(日) 17:50 発言[未読]
【67079】Re:色つきセル全選択 MMM 10/10/31(日) 19:06 お礼[未読]

【67077】色つきセル全選択
質問  MMM  - 10/10/31(日) 17:14 -

引用なし
パスワード
   黄色に塗られたセルを選択しようと下記のようにしたのですが、
44個までは選択できるのですが、それ以上の選択になるとエラー
になります。200や300とそれ以上セル選択したいのですが、どう
直せばいいかお分かりになる方よろしくお願いします。


Dim RNG As Range
Dim RNGAD1 As String


For Each RNG In Selection
'黄色
If RNG.Interior.ColorIndex = 6 Then
 R = R + 1
 RNGAD1 = RNG.Address
  If R < 2 Then
   RNGAD = RNGAD1
  Else
   RNGAD = RNGAD & "," & RNGAD1
  End If
 'ActiveCell.RNG
End If
Next RNG
 Range(RNGAD).Select

【67078】Re:色つきセル全選択
発言  ichinose  - 10/10/31(日) 17:50 -

引用なし
パスワード
   ▼MMM さん:
こんばんは。

>   RNGAD = RNGAD & "," & RNGAD1
この方法だと、RNGADの文字列長が255を越えると、

Range(RNGAD).Select  '←ここでエラーになります


Sub select_yellow()
  Dim r As Long
  Dim RNG As Range
  Dim Sel_rng As Range
  For Each RNG In Selection
  '黄色
    If RNG.Interior.ColorIndex = 6 Then
     r = r + 1
     If r < 2 Then
       Set Sel_rng = RNG
     Else
       Set Sel_rng = Application.Union(Sel_rng, RNG)
     End If
     'ActiveCell.RNG
    End If
  Next RNG
  Sel_rng.Select
End Sub

これで試してみてください。

【67079】Re:色つきセル全選択
お礼  MMM  - 10/10/31(日) 19:06 -

引用なし
パスワード
   うまく選択することができ助かりました。
ありがとうございました。

2585 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free