Excel VBA質問箱 IV

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

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


7114 / 76732 ←次へ | 前へ→

【75209】複数の範囲(膨大)を、変数に取り込む
質問  初心者M  - 14/1/8(水) 12:03 -

引用なし
パスワード
   昨日「複数の異なる値を取り込んで、順に処理したいです」という質問をさせていただいた者です。その節はお世話になりました。
この際、回答者の方に作って頂いたコードを自分の手元の表に応用する方法で、また悩んでいます。

手元の表は(違う形式もありますが)縦にはセルe8からe16まで、7個空けてe24からe32まで、とこれが下に25回並んでおり、横方向にはe8から2個空けてh8からh16まで、また2個空けてk8からk16までという具合に、こちらは27回並んでいます。

これを、昨日の回答で頂いた以下のコードの「r」に入れたいのですが、どのような方法が良いか、ご指導いただけませんでしょうか。
自分では(E8:E16,E24:E32,E40:E48,E56:E64,E72:E80,E88:E96,E104:E112,E120:E128)と羅列するような方法しか思いつきませんでした。

よろしくお願いいたします。


Sub test()

  Dim a, b As Variant
  Dim i As Long
  Dim r As Range
  Dim dic As Object

  Set dic = CreateObject("Scripting.Dictionary")
 
  Set r = Range("e8", Range("e8").End(xlDown))
  
  a = r.Value      
  b = r.Offset(, -2).Value
  
  For i = 1 To 9 'UBound(b)
    If Not dic.Exists(b(i, 1)) Then
      dic(b(i, 1)) = a(i, 1)
    ElseIf dic(b(i, 1)) < a(i, 1) Then
      dic(b(i, 1)) = a(i, 1)
    End If
  Next
  
  '縦25回
  '横27回
  
  For i = 1 To 9 'UBound(b)
    a(i, 1) = dic(b(i, 1))
  Next
  r.Value = a
 
End Sub

286 hits

【75209】複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 12:03 質問
【75210】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 13:18 発言
【75211】Re:複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 13:59 質問
【75212】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 14:35 発言
【75213】Re:複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 15:00 お礼
【75214】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 16:57 発言
【75215】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 17:06 発言
【75216】Re:複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 17:22 発言
【75217】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 17:33 発言
【75218】Re:複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 17:51 発言
【75219】Re:複数の範囲(膨大)を、変数に取り込む kanabun 14/1/8(水) 18:01 発言
【75220】Re:複数の範囲(膨大)を、変数に取り込む 初心者M 14/1/8(水) 18:04 お礼

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