これは、私が他の誰かを助けようとして、困惑したときに始まりました。したがって、基本的には、列 B、C、および D に値があります。H2 と I2 に基準があり、H2 と I2 の基準が B と C で一致する場合、D に対応する回答があり、J2 に入力されます。基本的に 2 つの基準を持つ vlookup です。私はこのようなものを持っています。
Sub test()
Dim rngCrit1 As Range
Dim rngCrit2 As Range
Dim rngAnswer As Range
Dim strTarget As String
Set rngCrit1 = Range("H2")
Set rngCrit2 = Range("I2")
Set rngAnswer = Range("J2")
Range("B2").Select
strTarget = ActiveCell.Value
Do While strTarget <> ""
With ActiveCell
If strTarget = rngCrit1 Then
If .Offset(0, 1).Value = rngCrit2 Then
rngAnswer.Value = .Offset(0, 2)
Else
.Offset(1, 0).Select
strTarget = ActiveCell.Value
End If
End If
End With
Loop
End Sub
今、これはクラッシュするだけで、デバッグも何もありません。私は独学なので、ここのどこかで犬をねじ込んだと確信しています。
*これは、私自身の関心を満たすためのものであり、それほど重要ではないことに注意してください.5分以上かかる場合は、私よりも必要な人を助けてください.
Val1 Val2 Val3 Crit1 Crit2 Answer
a r 12 g v 22
b r 14
c s 15
d s 16
e t 18
f t 19
g y 20
g v 22
サンプルデータ