これをフレーズする方法を見つけるのには苦労しています。Excel VBAの2つの範囲値に基づいて値を設定します
「Final」と「Raw」という2つのワークシートを持つスプレッドシートがあります。 Finalには、ユーザーがC3からC13のセルにIDを入力できる範囲があります。
そこから空になるまでその範囲をループし、値を使用してRawの範囲をループし、最終的に値を最終の3番目の範囲に引きます。
SQLと1対多の関係で話していたら、基本的には内部結合になります。
application.worksheetfunction.index
を使用するなど、いくつかの方法が考えられましたが、これを実装する方法を考えるのは苦労しています。
編集コードを追加する:
Dim indexPO As Long
Dim i As Long
Dim endRow As Long
endRow = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
indexPO = Sheets(1).Cells(2, "C")
Do While Worksheets(1).Cells(i, "C").Value <> ""
indexPO = indexPO + 1
Do While Worksheets(2).Cells = indexPO
Worksheets(1).Cells(i, "A") = Worksheets(2).Cells(i, "A")
If Worksheets(2).Cells(i, "A") = "" Then
Exit Do
End If
Loop
Loop
範囲1 ID AAAA BBBB CCCC
Range2の ID説明 AAAA牛 AAAA牛 AAAA牛 AAAA牛 BBBBムース BBBBムース BBBBムース FFFF豚 FFFF豚 FFFF豚
所望の出力
ID説明 AAAA牛 AAAA牛 AAAA牛 AAAA牛 BBBBムース BBBBムース BBBBムース
既に試行したコードを貼り付けることはできますか?あなたはVLookupを考えましたか? – rayzinnz
私は3番目の範囲を2番目の範囲の多くのレコードでいっぱいにする必要がありますが、最初の範囲のインデックスでは、残りの部分をvlookupすることができます。だから私は私が推測する最初のステップを解決する必要があります。 –
私はrayzinnzに同意する必要があります。マルチルックアップソリューションを探しているようです。おそらく、期待される出力とともにデータの例を提供すれば、あなたの要求をよりよく説明するでしょう。 – goodfella