könnten Sie besser dran mit Find()
Methode von Range
Objekt
Dim rng As Range
With Sheets("CustomerList") '<--| reference "CustomerList" sheet
With .Range("A2", .Cells(.Rows.count, 1).End(xlUp)) '<--| reference its column A range from row 2 down to last not empty one
Set rng = .Find(what:=Range("C10").Value, LookIn:=xlValues, lookat:=xlWhole, MatchCase:=False) '<--| search referenced range for "Cust Num" entry
If Not rng Is Nothing Then '<--| if found
Range("C11").Value = rng.Offset(, 1).Value '<--| fill cell C11 with value in cell 1 column offset the found CustNum
Range("C12").Value = rng.Offset(, 2).Value '<--| fill cell C12 with value in cell 2 columns offset the found CustNum
Range("I11").Value = rng.Offset(, 3).Value '<--| fill cell I11 with value in cell 3 columns offset the found CustNum
End If
End With
End With
Des Weiteren werden von Ihrem Screenshots bekam ich, dass Sie versuchen, Benutzereinträge in der Form Shee zu verwalten t.
In diesem Fall habe ich einen solchen Handler Worksheet_Change()
Ereignis geschrieben hatte:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address(False, False)
Case "C10" '<--| user edited "Cust Num" entry
FillCustomerInfo Target.Value '<--| call the sub responsible for handling "Customer Number" entry
Case "C6" '<--| user edited "Order Number" entry
FillOrderNumberInfo Target.Value '<--| call the sub responsible for handling "Order Number" entry
Case Else
End Select
End Sub
wo Sie überprüfen, welche Zelle vom Benutzer geändert wurde und starten Unter entsprechenden dementsprechend, dass die Zellinhalt zu behandeln
in Im vorliegenden Fall würde FillCustomerInfo()
Sub deshalb sein:
Sub FillCustomerInfo(val As Variant)
Dim rng As Range
With Sheets("CustomerList") '<--| reference "CustomerList" sheet
With .Range("A2", .Cells(.Rows.count, 1).End(xlUp)) '<--| reference its column A range from row 2 down to last not empty one
Set rng = .Find(what:=val, LookIn:=xlValues, lookat:=xlWhole, MatchCase:=False) '<--| search referenced range for passed value
If Not rng Is Nothing Then '<--| if found
Range("C11").Value = rng.Offset(, 1).Value '<--| fill cell C11 with value in cell 1 column offset the found CustNum
Range("C12").Value = rng.Offset(, 2).Value '<--| fill cell C12 with value in cell 2 columns offset the found CustNum
Range("I11").Value = rng.Offset(, 3).Value '<--| fill cell I11 with value in cell 3 columns offset the found CustNum
End If
End With
End With
End Sub
'Wenn Sheets ("Customer") Bereich. ("A2: A5"). = Range ("C10") Wert Then' ist eine' Variante zu vergleichen() '(links) mit einer' Variante' rechts. Sie können das Eigenkapital eines Arrays nicht testen. – Comintern
Also, wie würde ich das beheben? –
Hängt davon ab, was der Vergleich überprüfen soll. – Comintern