Excel VBA質問箱 IV

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

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


23987 / 76732 ←次へ | 前へ→

【58100】Re:配列に入れた行を一括取得するにはどうすればいいでしょうか
質問  ON  - 08/10/2(木) 14:37 -

引用なし
パスワード
   ふと
制限前に非表示にして、次の処理をすればと思い下記のようにしてみました

Sub a指定行非表示4x()  'D列のセルがグレーなら行非表示
  Dim TG As Range
  Dim ck As Integer
'  Dim myArray() As String
  Dim cnt_i As Integer
  Dim cnt_j As Integer
  'Dim myArray
  Dim myArray

  cnt_i = 1
  cnt_j = 0
  ck = ActiveSheet.UsedRange.Rows.Count
  
  Range(Cells(1, 4), Cells(ck, 4)).Select
  For Each TG In Selection
    If TG.Interior.ColorIndex = 15 Then
      myArray = myArray & TG.Row & ":" & TG.Row & ","
      'Debug.Print myArray
      cnt_j = cnt_j + 1
    End If
    
    If cnt_j = 40 Then ',が40毎に処理をする
    
      Debug.Print myArray
    
      Range(Mid(myArray, 1, Len(myArray) - 1)).Select  '←3回目でエラー
      Range(Mid(myArray, 1, Len(myArray) - 1)).EntireRow.Hidden = True
      
      myArray = ""
      cnt_j = 0
      
    End If
    
    cnt_i = cnt_i + 1
  Next
  'Rows(3).EntireRow.Hidden = True
  
  'Debug.Print myArray  '・・・・,178:178,
  'Debug.Print Mid(myArray, 1, Len(myArray) - 1) '・・・・,178:178
  Range(Mid(myArray, 1, Len(myArray) - 1)).Select '無理やり?
'  Rows(myArray(ck)).Select  '←型が一致しません
  'Rows(myArray(ck)).EntireRow.Hidden = True
  Range(Mid(myArray, 1, Len(myArray) - 1)).EntireRow.Hidden = True
  
  
End Sub

イミディエイトウインドウは
7:7,8:8,10:10,11:11,13:13,14:14,15:15,16:16,17:17,19:19,20:20,22:22,23:23,
24:24,25:25,26:26,27:27,28:28,29:29,30:30,31:31,32:32,33:33,34:34,35:35,
38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,
50:50,51:51,52:52,

53:53,54:54,56:56,57:57,58:58,59:59,60:60,62:62,64:64,65:65,67:67,68:68,
69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,
81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:92,
93:93,94:94,95:95,96:96,

97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,
107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,
116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,
125:125,126:126,127:127,128:128,129:129,130:130,131:131,132:132,133:133,
134:134,135:135,136:136,

が表示され 
  '←3回目でエラー
でとまってしまいました

ちなみに、表示する行は、DのセルをWクリックすることで、グレーをはずしています

対象行は1-178で、初期表示対象は、1-6,9,18,21,36,37,55,61,63,66のような感じです

アドバイスよろしくお願い致します

2 hits

【58093】配列に入れた行を一括取得するにはどうすればいいでしょうか ON 08/10/2(木) 11:07 質問
【58095】Re:配列に入れた行を一括取得するにはどう... Abebobo 08/10/2(木) 12:40 発言
【58096】Re:配列に入れた行を一括取得するにはどう... ON 08/10/2(木) 13:37 質問
【58100】Re:配列に入れた行を一括取得するにはどう... ON 08/10/2(木) 14:37 質問
【58102】Re:配列に入れた行を一括取得するにはどう... ハチ 08/10/2(木) 15:11 発言
【58104】Re:配列に入れた行を一括取得するにはどう... ON 08/10/2(木) 15:22 質問
【58105】Re:配列に入れた行を一括取得するにはどう... kanabun 08/10/2(木) 16:09 発言
【58125】Re:配列に入れた行を一括取得するにはどう... ON 08/10/4(土) 18:27 お礼
【58101】Re:配列に入れた行を一括取得するにはどう... neptune 08/10/2(木) 14:50 発言
【58103】Re:配列に入れた行を一括取得するにはどう... ON 08/10/2(木) 15:13 質問

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