Suchen Sie die Position der Zelle anhand des Werts und führen Sie dann eine Aktion aus - User Forms VBA Excel

Ich habe Erfahrung in der Programmierung, aber ich bin neu in VBA. Ich habe ein Benutzerformular, an dem ich arbeite. Dieses Formular verfügt über ein Kombinationsfeld, für das eine Liste initialisiert wurde. Was ich versuche zu tun, ist:

* Den vom Benutzer eingegebenen ID-Nummernwert über die ComboBox abrufen. * Den vom Benutzer eingegebenen Wert anhand eines Wertebereichs aus einem Arbeitsblatt (z. B. Worksheet.Range ("ID_Number_List") suchen. * Sobald die Übereinstimmung vorliegt Abrufen der Position der Zelle, mit der es übereinstimmt * Aus Setzen Sie die Position der Zelle um eine Spalte, um den Namen zu erhalten, der sich auf die ID-Nummer (gleiche Zeile) bezieht, und setzen Sie ihn auf textBoxName.Value Telefonnummer, die sich auf die ID-Nummer bezieht, und setzen Sie sie auf textboxTele.value

Ich möchte, dass dies geschieht, sobald ein Wert aus der Combobox ausgewählt wird. Meine Frage ist also, ob mein Code in das Kombinationsfeld oder in das nächste Textfeld verschoben wird. Sobald die Person zum nächsten Textfeld wechselt, wird der Code automatisch ausgeführt. Ich möchte, dass der Code vollständig ausgeführt wird, ohne zum nächsten Feld überzugehen.

Dieser Code ist nicht vollständig, aber hier ist, was ich habe (ich habe den versetzten Teil nicht hinzugefügt, ich habe gerade eine Testausführung gemacht):

Dim ORIValue As String 
'get value from combo_box Set 
ORIValue = COMBO_ORILIST.Value

Dim cLoc As Range 
Dim cORIVal As Range

'worksheet with the ID information Dim ORISheetList As Worksheet 
Set ORISheetList = Worksheets("ORI_LIST")

'
For Each cLoc In ORISheetList.Range("ORI_LIST")
'compare the input string from list- considering using Match function for this
If StrComp(cLoc, ORIValue,  vbTextCompare) Then TextBAgencyName.Value = "test"
Else: Next cLoc
End If

Lass mich wissen was du denkst. Wenn ich alles neu schreiben muss, werde ich.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage