Excel VBA質問箱 IV

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

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


9682 / 76736 ←次へ | 前へ→

【72613】Re:数値範囲のデータから数値がその範囲にあるか、もしくは含むかを調べる方法
質問  T.K  - 12/8/28(火) 18:37 -

引用なし
パスワード
   ▼kanabun さん
お世話になります。先ほどは全然不明点だらけで分からなかったのですが、できる限り自分で調べてみました。不明点が多くて申し訳ないですが、プログラムの意味をそれぞれ教えてください。よろしくお願いします。
Sub test3()
  Dim dic As Object
  Dim i As Long, n As Long
  Dim r As Range
  Dim v, ID
  'dicに重複しないリスト作成する
  Set dic = CreateObject("Scripting.Dictionary")
  'Sheet1のデータ範囲
  Set r = Worksheets("Sheet1").Cells(1).CurrentRegion
  'vは見出しを除いた行数
  v = Intersect(r, r.Offset(1)).Value
  '見出しを除いた行数作業を繰り返すループ     
  For i = 1 To UBound(v)
  'dicにデータが無いのならclass列のデータを格納?
    If Not dic.Exists(v(i, 1)) Then
  '_は何? dic(v(i, 1)) = _の意味がいまいちわからない       
      Set dic(v(i, 1)) = _            
        CreateObject("Scripting.Dictionary")
    End If
  '? 急にArrayが出てきたdicに格納した(v(i, 1))(v(i, 4))と
  'Array(v(i, 2))(v(i, 3))を一致させるってこと? 
    dic(v(i, 1))(v(i, 4)) = Array(v(i, 2), v(i, 3)) 
  Next
    
  Dim a1, a2
  Dim b1, b2
  Dim vv
  'Sheet2のデータ範囲
  Set r = Worksheets("Sheet2").Cells(1).CurrentRegion
  'withで何を省略しているのか分からない?Intersect? 
  With Intersect(r, r.Offset(1))
  'v = Intersect(r, r.Offset(1)).Value = .Resize(, 3).Value?
  '結局、vはSheet2の見出しを除いた行数? vvは見出しを含めた行数?
  v = .Resize(, 3).Value             
   vv = .Columns(4).Cells.Value          
  End With
  '見出しを除いた行数作業を繰り返すループ
  For i = 1 To UBound(v)  'Sheet2 2行目から
  'vv(i, 1) = Emptyなにを意味してるか分からない     
    vv(i, 1) = Empty
  'dicにデータが無いのならclass列のデータを格納?            
    If dic.Exists(v(i, 1)) Then
  'a1というのはループ回数行の2列目(start値)           
      a1 = v(i, 2)
  'a2というのはループ回数行の3列目(end値)               
      a2 = v(i, 3)
  'ここら辺から理解不能                
      vv(i, 1) = "ハズレ"             
      For Each ID In dic(v(i, 1)).Keys()
        b1 = dic(v(i, 1))(ID)(0)
        b2 = dic(v(i, 1))(ID)(1)
        Select Case b1
         Case Is < a1
           If b2 > a1 Then
             vv(i, 1) = ID
             Exit For
           End If
         Case Is > a1
           If b1 < a2 Then
             vv(i, 1) = ID
             Exit For
           End If
        End Select
      Next
    End If
  Next
  r.Item(2, 4).Resize(UBound(vv)).Value = vv
  
End Sub
0 hits

【72485】数値範囲のデータから数値がその範囲にあるか、もしくは含むかを調べる方法 T.K 12/8/15(水) 20:24 質問
【72486】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/15(水) 22:09 発言
【72489】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/15(水) 22:38 発言
【72491】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/15(水) 22:48 発言
【72492】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/16(木) 0:37 発言
【72493】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/16(木) 0:51 発言
【72494】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/16(木) 8:16 発言
【72495】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/16(木) 9:03 発言
【72500】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/16(木) 12:54 発言
【72505】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/17(金) 21:25 発言
【72596】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/27(月) 21:46 質問
【72598】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/27(月) 23:55 発言
【72602】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/28(火) 9:51 質問
【72603】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 10:07 発言
【72605】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 10:12 発言
【72606】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/28(火) 10:38 発言
【72607】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 11:27 お礼
【72608】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 11:56 お礼
【72630】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 19:29 発言
【72631】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 19:43 発言
【72612】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 15:49 質問
【72613】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 18:37 質問
【72628】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 18:53 発言
【72629】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 19:12 発言
【72632】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 20:17 発言
【72634】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 21:35 発言
【72635】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 21:40 発言
【72657】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/31(金) 15:49 発言
【72659】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/31(金) 16:25 発言
【72660】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/31(金) 17:30 質問
【72664】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/31(金) 19:35 発言
【72666】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/31(金) 19:45 お礼

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