現在の問題:
私のコードは、シート 2 に余分なデータを追加するまで部分的に機能していましたが、現在は失敗してデバッグが送信されます。
Set partsheet = Worksheets("Sheet1").Range("A1", Range("A65536").End(xlUp))
このコードの有用性:
基本的に、異なるシートに2つの列があります:比較したい & 同様のインポートデータの場合:
Sheet1 - column1 はジョブ番号です
Sheet1 - column2 は部品番号です
同じジョブ番号の場合、複数の部分を持つことができます。つまり、ジョブ番号は列1で繰り返されます
Sheet2 - column1 は sheet1 と同じジョブ番号ですが、データが繰り返されることはありません
Sheet2 - column2 は、各ジョブ番号に固有の ID 番号です (したがって、この場合、ジョブ番号が繰り返されないのはなぜですか)
したがって、参照ポイントとして共通ジョブ番号を使用して、Sheet2 - column2 からデータをインポートしたいと考えています。データを Sheet1 - column3 にインポートすると、繰り返される column1(sheet1) のジョブ番号に対して一意の ID 番号を繰り返す必要があります。したがって、二重のループが発生します。
部分的に機能するために使用されるとは、次のことを意味します。
コードが部分的にしか機能していないことから始めると、これは、sheet1 - column1 の特定のジョブ番号が sheet2 - column1 に対応する値を持たない (データは完全ではありません) ためだと思います。if ステートメントの else 部分のコードを追加する必要があるかもしれませんが、何がわからないのですか。
vba コード:
Option Explicit
Sub testFil()
Dim Jobref_in_partsheet As Range
Dim Jobref_in_jobsheet As Range
Dim partsheet As Range
Dim jobsheet As Range
Dim MyRow As Long
Dim MyOtherRow As Long
Set partsheet = Worksheets("Sheet1").Range("A1", Range("A65536").End(xlUp))
Set jobsheet = Worksheets("Sheet2").Range("A1", Range("A65536").End(xlUp))
For Each Jobref_in_partsheet In partsheet
For Each Jobref_in_jobsheet In jobsheet
If Jobref_in_partsheet.Value = Jobref_in_jobsheet.Value Then
MyRow = Jobref_in_partsheet.Row
MyOtherRow = Jobref_in_jobsheet.Row
Worksheets("Sheet1").Cells(MyRow, 3) = Worksheets("Sheet2").Cells(MyOtherRow, 2)
Else
'Do nothing
End If
Next
Next
End Sub
私が得ることができる助けを本当に感謝します。