Excel VBA質問箱 IV

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

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


7120 / 76732 ←次へ | 前へ→

【75203】Re:複数の異なる値を取り込んで、順に処理したいです
発言  kanabun  - 14/1/7(火) 17:05 -

引用なし
パスワード
   ▼初心者M さん:

>頂いたコードを最初に試した際、何故か「最小値」を取ってきてしまっていたので
>
>ElseIf dic(b(i, 1)) > a(i, 1) Then
>
>の「>」を「<」に変えたところ、上手くいきました。

あー、逆でした。失礼しました m(_ _)m
おわびに、
[H6]セルを先頭とする39行×26列の表があるときの test応用です。

Sub test2()
  Dim a
  Dim i As Long, j As Long, n As Long
  Dim r As Range
  Dim dic As Object
  Set dic = CreateObject("Scripting.Dictionary")
  
  Set r = Range("H6").Resize(39, 26) '[H6]を左上とする39行×26列
  a = r.Value       '表全部の値

  For j = 2 To UBound(a, 2) Step 2 '列方向 1列おき
    For i = 1 To UBound(a, 1)   '行方向
      If Not IsEmpty(a(i, j)) Then
       n = a(i, j - 1)
       If Not dic.Exists(a(i, j)) Then
         dic(a(i, j)) = n
       ElseIf dic(a(i, j)) < n Then
         dic(a(i, j)) = n
       End If
      End If
    Next
  Next
  For j = 2 To UBound(a, 2) Step 2 '列方向 1列おき
    For i = 1 To UBound(a, 1)   '行方向
      If Not IsEmpty(a(i, j)) Then
        a(i, j - 1) = dic(a(i, j))
      End If
    Next
  Next
  r.Value = a
  
End Sub

いちおう、空白セルは実行しないようにしました。

276 hits

【75198】複数の異なる値を取り込んで、順に処理したいです 初心者M 14/1/7(火) 10:38 質問
【75199】Re:複数の異なる値を取り込んで、順に処理... kanabun 14/1/7(火) 14:56 発言
【75201】Re:複数の異なる値を取り込んで、順に処理... 初心者M 14/1/7(火) 15:29 お礼
【75202】Re:複数の異なる値を取り込んで、順に処理... 初心者M 14/1/7(火) 15:54 お礼
【75203】Re:複数の異なる値を取り込んで、順に処理... kanabun 14/1/7(火) 17:05 発言
【75204】Re:複数の異なる値を取り込んで、順に処理... 初心者M 14/1/7(火) 17:28 お礼

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