24.10.2022, 09:37
Hallo zusammen,
ich stehe gerade vor der Herausforderung, dass ich in einem Formular die Möglichkeit nutzen möchte entweder einen Wert manuell in Zellen einzutragen oder bei keiner Eingabe, eine Formel auszuführen.
Ich habe mich bereits durchs Forum gesucht und auch ein paar Ansätze gefunden.
Allerdings bekomme ich den VBA Code nicht ans Laufen...
Könnt ihr vielleicht sehen, wo der Fehler liegt?
Kurze Erläuterung zur Funktionsweise:
Es handelt sich um ein Kundenformular. In Zelle B3 befindet sich eine Dropdown Liste mit Kundennamen. Wenn dort ein Kunde ausgewählt wird, sollen sich die Felder G3, B4, G4, B5 und G5 per SVerweis die restlichen Kundeninfos aus eine Kundenliste holen. Wenn der Kunde aber noch nicht existiert, soll man die Daten auch manuell eingeben können. Wenn man die Felder wieder leert, sollen automatisch die ursprünglichen Formeln wieder greifen.
Hier der Code:
Besten Dank vorab für eure Unterstützung.
ich stehe gerade vor der Herausforderung, dass ich in einem Formular die Möglichkeit nutzen möchte entweder einen Wert manuell in Zellen einzutragen oder bei keiner Eingabe, eine Formel auszuführen.
Ich habe mich bereits durchs Forum gesucht und auch ein paar Ansätze gefunden.
Allerdings bekomme ich den VBA Code nicht ans Laufen...
Könnt ihr vielleicht sehen, wo der Fehler liegt?
Kurze Erläuterung zur Funktionsweise:
Es handelt sich um ein Kundenformular. In Zelle B3 befindet sich eine Dropdown Liste mit Kundennamen. Wenn dort ein Kunde ausgewählt wird, sollen sich die Felder G3, B4, G4, B5 und G5 per SVerweis die restlichen Kundeninfos aus eine Kundenliste holen. Wenn der Kunde aber noch nicht existiert, soll man die Daten auch manuell eingeben können. Wenn man die Felder wieder leert, sollen automatisch die ursprünglichen Formeln wieder greifen.
Hier der Code:
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If CallByName(Selection, IIf(Val( _
Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
If Target = "" Then
Select Case Target.Address
Case "$G$3"
Target.Formula = "=IFERROR(VLOOKUP(R3C2,Kundenliste!R1C1:R100C5,2,0),"""")"
Case "$B$4"
Target.Formula = "=IFERROR(VLOOKUP(R3C2,Kundenliste!R1C1:R100C5,3,0),"""")"
Case "$G$4"
Target.Formula = "=IFERROR(VLOOKUP(R3C2,Kundenliste!R1C1:R100C5,4,0),"""")"
Case "$B$5"
Target.Formula = "=IFERROR(VLOOKUP(R3C2,Kundenliste!R1C1:R100C5,5,0),"""")"
Case "$G$5"
Target.Formula = "=IFERROR(VLOOKUP(R3C2,Kundenliste!R1C1:R100C5,6,0),"""")"
End Select
End If
End If
End Sub
Besten Dank vorab für eure Unterstützung.