同じブックの2つの異なるシートから2つの列を部分的に比較しようとしています。例えば異なる列の部分セル値を一致させてコピーする
:シート2のColumn B
はRs ID
(すべての数字)を含み、Column A
はClinical Significance
を含み、シート1に2列A
& B
(文字列と数字を含む)の同様に同じヘッダとがあります。
部分一致がSheet2のは、シート1のColumn B
でのColumn B
であった場合、私は次の使用例は、シート1でColumn A
中で同じセルにSheet2のからColumn A
にセルをコピーするには、私のVBAコードをお勧めします 。
Sheet1の:
のSheet2:
これは私のコードです。それは完璧に実行されますが、Column B
ののシート2のデータは、Column A
とまったく同じではありません。 lookat:=xlPart
を正しく使用できませんでしたか?
Sub test()
Dim rng2 As Range, c2 As Range, cfind As Range
Dim x, y
With Worksheets("sheet1")
Set rng2 = .Range(.Range("B2"), .Range("B2").End(xlDown))
For Each c2 In rng2
x = c2.Value
With Worksheets("sheet2").Columns("B:B")
On Error Resume Next
Set cfind = .Cells.Find(what:=x, lookat:=xlPart, LookIn:=xlValues)
If (Not (cfind Is Nothing)) Then
y = cfind.Offset(0, -1).Value
c2.Offset(0, -1) = y
End If
End With
Next c2
End With
End Sub
大文字と小文字は区別されますか? – QHarr
@QHarr大文字と小文字を区別する必要はありません! – Amanda
**部分一致**の意味は不明ですか?つまり、sheet1-columnBのシーケンス内の数字がsheet2-columnBの列に存在する限り、どのような種類の一致にするかを具体的に指定できますか?またはsheet1-columnBからsheet2-columnBに正確に一致する数字? – Zac