Excel VBA質問箱 IV

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

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


5726 / 76732 ←次へ | 前へ→

【76613】Re:VLOOKUPで一致した場合に特定の数値を返したい
発言  β  - 15/2/10(火) 8:39 -

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

関数を使わない処理案です。

Sub test2()
  Dim sh1 As Worksheet
  Dim sh2 As Worksheet
  Dim dic As Object
  Dim v As Variant
  Dim i As Long
  Dim c As Range
  
  Set sh1 = ThisWorkbook.Sheets("Sheet1")
  Set sh2 = Workbooks("Book2.xlsx").Sheets("Sheet1")
  Set dic = CreateObject("Scripting.Dictionary")
  
  'Book2のA列の値を格納
  
  For Each c In sh2.Range("A2", sh2.Range("A" & Rows.Count).End(xlUp))
    dic(c.Value) = True
  Next
  
  With sh1.Range("v2", sh1.Range("v" & Rows.Count).End(xlUp))
    'Book1 の U,V列を配列に格納
    v = .Cells.Offset(, -1).Resize(, 2).Value
    '配列内で重複チェック
    For i = LBound(v, 1) To UBound(v, 1)
      If dic.exists(v(i, 2)) Then
        v(i, 1) = 1933
      Else
        v(i, 1) = Empty
      End If
    Next
    'Book1に書き戻し
    .Cells.Offset(, -1).Resize(, 2).Value = v
  End With
  
End Sub
0 hits

【76609】VLOOKUPで一致した場合に特定の数値を返したい vba初心者 15/2/9(月) 21:08 質問[未読]
【76610】Re:VLOOKUPで一致した場合に特定の数値を返... β 15/2/9(月) 22:12 発言[未読]
【76612】Re:VLOOKUPで一致した場合に特定の数値を返... β 15/2/10(火) 6:37 発言[未読]
【76611】Re:VLOOKUPで一致した場合に特定の数値を返... kanabun 15/2/9(月) 22:15 発言[未読]
【76614】Re:VLOOKUPで一致した場合に特定の数値を返... VBA 15/2/10(火) 10:52 お礼[未読]
【76613】Re:VLOOKUPで一致した場合に特定の数値を返... β 15/2/10(火) 8:39 発言[未読]

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