Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1824to1828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA wenn x oder y dann wert z

VBA wenn x oder y dann wert z
19.04.2021 08:59:42
DanteMan
Guten Morgen Forum,
ich hätte da ein kleines Problem das ich gerne mit VBA lösen würde. Und zwar:
In Spalte B habe ich ein Dropdown mit vier Textwerten:
1. APK (XML-Format)
2. Base (XML-Format)
3. Client (txt-Format)
4. WebGUI(properties-Format)
In den Spalten C/D und E werden dann mit einem anderen Dropdown entsprechende Unterordner zur Auswahl angezeigt.
Das funktioniert auch. Die Auswahlmöglichkeiten txt-Format und properties-Format haben aber keine Unterordner.
Jetzt hätte ich gerne wenn in Spalte B in den Zellen txt oder properties-Format ausgewählt wird in den Spalten C/D und E in den Zellen daneben gleich direkt
"NO Subfolder" eingetragen wird. bei den beiden XML-Format einträgen soll nichts passieren da hier die funktionierenden Dropdowns weiter genutzt werden sollen.
Meine Frage ist nun:
Wie kann ich dies mit VBA realisieren? Kann mir da evtl einer weiterhelfen?
Ich stehe hier total auf dem Schlauch.
Ich hoffe das meine Beschreibung der Problematik klar und verständlich ist.
Danke schon mal im vorraus,
Gruß
Dante

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA wenn x oder y dann wert z
19.04.2021 11:39:07
Piet
Hallo
so könnte es klappen, der Code ist aber nicht getestet, weil ich deinen Tabellenaufbau nicht habe.
Den Code bitte ins Tabellenblatt kopieren wo sich die DropDowns befinden. Würde mich freuen wenn es klappt.
Hinweis: ich vermute in der DropDown Liste für Spalte C/D/E muss der Text "No Subfolder" vorkommen, sonst könnte es eine Fehlermeldung geben! Und Excel die Eingabe verweigern. Einfach ausprobieren ob es auch ohne geht?
mfg Piet
  • 
    Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    If InStr(Target.Address, ":") Then Exit Sub
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
    If Target.Value = "txt-Format" Or _
    Target.Value = "properties-Format" Then
    Target.Resize(1, 3) = "NO Subfolder"
    End If
    End If
    Fehler: MsgBox "Target Fehler - bitte wiederholen"
    End Sub
    

  • Anzeige
    AW: VBA wenn x oder y dann wert z
    19.04.2021 12:55:48
    DanteMan
    Hi Piet,
    danke für Deine Hilfe!
    Wie schon vermutet gibt es hier Probleme.
    Ich hab mal eine Tabelle hochgeladen:
    https://www.herber.de/bbs/user/145649.xlsm
    In der Spalte B wähle ich einen von 4 Hauptordner aus.
    Einer von den 4en hat noch 3 Unterordner, ein anderer noch einen und die beiden letzten (txt und properties) haben keinen Subfolder.
    Was ich jetzt gerne hätte ist:
    Sind die Hauptordner txt oder properties ausgewählt soll in den Zelen rechts daneben (Spalten C-E/Subfolder 1-3) direkt "No Subfolder" eingetragen werden.
    Bei Deinem Code wird auch in der Spalte Mainfolder dann "Subfolder" eingetragen.
    Kann man das lösen und wenn ja wie?
    Gruß
    Dante
    Anzeige
    AW: VBA wenn x oder y dann wert z
    19.04.2021 14:43:59
    Piet
    Hallo
    stimmt, dummer kleiner Flüchtigkeitsfehler von mir. Aendere den Code bitte mal so ab: (Offset verschiebt ihn um eine Spalte nach rechts)
    Target.Offset(0, 1).Resize(1, 3) = "NO Subfolder"
    mfg Piet
    AW: VBA wenn x oder y dann wert z
    19.04.2021 14:54:50
    DanteMan
    Hi Piet.
    Yepp, so trät er es richtig ein. Aber aus welchem Grund kommt das mit dem Fehler, und wie kann man den noch eliminieren?
    Gruß
    Dante
    AW: VBA wenn x oder y dann wert z
    19.04.2021 15:52:20
    Piet
    Hallo
    so sollte er jetzt perfekt sein ... - Ohne Fehlermeldung
    mfg Piet
  • 
    Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    If InStr(Target.Address, ":") Then Exit Sub
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
    Application.EnableEvents = False
    If Target.Value = "txt-Format" Or _
    Target.Value = "properties-Format" Then
    Target.Resize(1, 3) = "NO Subfolder"
    End If
    Application.EnableEvents = True
    End If
    Exit Sub
    Fehler:  Application.EnableEvents = True
    MsgBox "Target Fehler - bitte wiederholen"
    End Sub
    

  • Anzeige
    AW: VBA wenn x oder y dann wert z
    19.04.2021 16:15:39
    DanteMan
    Yes, Funktioniert tadellos!
    Vielen Dank Piet!

    323 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige