Excel VBA質問箱 IV

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

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


14797 / 76734 ←次へ | 前へ→

【67425】Re:検索にマッチする列の最後に値を追加したい。
発言  kanabun  - 10/12/2(木) 17:19 -

引用なし
パスワード
   おじゃまします

metabeaux さんの

>いくつかある方法

のうちの(たぶん)ひとつです。
Dictionaryを使う方法です。

Sub Try1() '両Book はともに開かれているものとします.
  Dim WS1 As Worksheet
  Dim WS2 As Worksheet
  Dim dic As Object
  Dim r As Range
  Dim v, u, w
  Dim i As Long, j As Long, jj As Long
  
  Set WS1 = Workbooks("対象一覧.xls").Worksheets(1)
  Set WS2 = Workbooks("マスター.xls").Worksheets(1)
  v = WS1.[A1].CurrentRegion.Resize(, 1).Value
  With WS2.UsedRange
    u = .Resize(, 1).Value
    jj = .Columns.Count
    Set r = .Offset(, 1).Resize(, jj)
    w = r.Value
  End With
    
  With CreateObject("Scripting.Dictionary")
    '----------- 対象一覧 A列(名前) を辞書に登録する
    For i = 1 To UBound(v)
      .Item(v(i, 1)) = Empty
    Next
    '-------- マスター照合
    For i = 1 To UBound(u)
      If Not IsEmpty(u(i, 1)) Then
        If .Exists(u(i, 1)) Then
          For j = 2 To jj
            If IsEmpty(w(i, j)) Then
              w(i, j) = 9
              Exit For
            End If
          Next
        End If
      End If
    Next
  End With
  r.Value = w
End Sub

3 hits

【67419】検索にマッチする列の最後に値を追加したい。 momoiro 10/12/2(木) 15:09 質問
【67420】Re:検索にマッチする列の最後に値を追加し... UO3 10/12/2(木) 16:08 回答
【67423】Re:検索にマッチする列の最後に値を追加し... UO3 10/12/2(木) 16:20 発言
【67424】Re:検索にマッチする列の最後に値を追加し... momoiro 10/12/2(木) 16:22 回答
【67421】Re:検索にマッチする列の最後に値を追加し... metabeaux 10/12/2(木) 16:11 回答
【67422】Re:検索にマッチする列の最後に値を追加し... momoiro 10/12/2(木) 16:19 回答
【67425】Re:検索にマッチする列の最後に値を追加し... kanabun 10/12/2(木) 17:19 発言
【67426】Re:検索にマッチする列の最後に値を追加し... kanabun 10/12/2(木) 17:23 発言

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