Office: VBA Wenn Wert nicht vorhanden dann ...

Helfe beim Thema VBA Wenn Wert nicht vorhanden dann ... in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe das folgende Problem: Ich habe eine Tabelle erstellt, in welcher ich in der Spalte C mehrere Werte aus einer Dropdown Liste auswählen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Fussatur, 15. August 2019.

  1. VBA Wenn Wert nicht vorhanden dann ...


    Hallo,

    ich habe das folgende Problem:

    Ich habe eine Tabelle erstellt, in welcher ich in der Spalte C mehrere Werte aus einer Dropdown Liste auswählen kann.

    Wenn der Wert "IT" in Spalte C ausgewählt wurde, so schreibt mir Excel per VBA automatisch das heutige Datum in Spalte D dazu.

    Nun hätte ich aber gerne, dass wenn in Spalte C nicht mehr "IT" steht, sondern ein anderer Wert, dass dann das Datum in der Spalte D automatisch gelöscht wird und die Spalte D wieder leer ist.


    Das Makro, wenn der Wert "IT" ist dieht folgendermaßen aus:

    Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column = 3 Then
    If Target.Row > 3 Then
    If Target.Value = "IT" Then
    Target.Offset(0, 1) = Format(Now, "dd.mm.yyyy")
    End If
    End If
    End If

    End Sub

    Ich komme nur leider nicht dahinter, wie ich das Makro anpassen muss.

    Vielleicht hat ja jemand die rettende Idee für mich?

    Vielen Dank im Voraus!

    :)
     
    Fussatur, 15. August 2019
    #1
  2. Code:
     
    MisterBurns, 17. August 2019
    #2
  3. Hallo,

    vielen Dank.

    Es funktioniert einfach perfekt.
     
    Fussatur, 17. August 2019
    #3
  4. VBA Wenn Wert nicht vorhanden dann ...

    Eine letzte Frage hat sich mir noch ergeben:

    Ich würde gerne erreichen, dass wenn ich in den Zellen A20 bis A25 den Wert lösche, dass dann automatisch der dazu gehörende Wert in den Zellen C20 bis C25 (welcher, wie oben beschrieben per Dropdown gewählt wird) ebenfalls entfernt wird.

    Ist das auch irgendwie möglich?

    Vielen Dank im Voraus für eure Mithilfe
     
    Fussatur, 17. August 2019
    #4
  5. Code:
     
    MisterBurns, 17. August 2019
    #5
  6. Es funktioniert wieder perfekt.

    Vielen vielen Dank.

    Jedoch habe ich noch ein Problem, welches ich bisher gar nicht auf dem Schirm hatte:

    Durch die zuvor eingegebenen Formeln wird jetzt, wenn in Zelle B das Wort "IT" nicht mehr vorkommt der Wert in Zelle D ja automatisch gelöscht.

    Nun hätte ich aber gerne, dass wenn die Zellen A20 bis A25 einen Wert enthalten, sprich sie nicht leer sind, dass dann in den Zellen D20 bis D25 das Wort "Leihgerät" angezeigt wird.

    Ich bin mir sicher du hast eine entsprechende Lösung parat *Smilie

    Vielen Dank im Voraus!
     
    Fussatur, 17. August 2019
    #6
  7. Ich hab es schon fast geschafft.

    Allerdings schreibt es mir immer in jeder 3. Spalte das Wort Leihgerät hinein und nicht nur in der Spalte A

    If Range("A20").Value "" Then
    Target.Offset(0, 3) = "Leihgerät"
     
    Fussatur, 17. August 2019
    #7
  8. VBA Wenn Wert nicht vorhanden dann ...

    Ändere
    Code:
    in
    Code:
    Und ist das nun gewünscht? Wenn ja, ist ja alles gut. Falls nein, schreibe ganz am Anfang des gesamten Codes die Zeile
    Code:
    und am Codeende das gleiche aber mit = True

    Vermutlich. Aber ich bin kein Freund von Salamitaktik, soll heißen, ich mag nicht deine Schwierigkeiten scheibchenweise präsentiert bekommen und mich immer wieder neu reindenken müssen. Überlege dir bitte also künftig vorher was wann wo passieren soll und schreib das dann gesammelt auf.
     
    MisterBurns, 17. August 2019
    #8
  9. Hallo,

    es funktioniert leider nicht ganz.

    Das mit "Leihgerät" funktioniert einwandfrei. Dafür schon mal ein Dankeschön, wenn ich aber per Dropdown etwas auswähle, löscht es das "Leihgerät" wieder. Hier einmal der Code

    Private Sub Worksheet_Change(ByVal Target As Range)

    Application.EnableEvents = False

    If Target.Column = 3 And Target.Row > 3 Then
    If Target.Value = "IT" Then
    Target.Offset(0, 1) = Format(Now, "dd.mm.yyyy")
    Else
    Target.Offset(0, 1).ClearContents
    End If
    End If

    If Not Application.Intersect(Target, Range("A20:A25")) Is Nothing Then
    If Target = "" Then
    Target.Offset(0, 2).ClearContents
    Else
    Target.Offset(0, 3) = "Leihgerät"
    End If
    End If
    Application.EnableEvents = True

    End Sub
     
    Fussatur, 18. August 2019
    #9
  10. Hallo,
    Klar - Deine Change-Prozedur beinhaltet 2 unterschiedliche Ereignisse.

    Bei dem einen gibst Du in Sp A etwas ein, worauf "Leihgerät" in Sp D geschrieben wird.
    Beim anderen erfolgt eine Dateneingabe in Sp C, womit der Löschvorgang in Sp D ausgelöst wird.

    Wie beide Ereignisse zusammenhängen, erschließt sich dem Außenstehenden nicht.

    Und warum Du Berni's strukturierten Code in einen unstrukturierten und damit schlechter lesbaren verwandelst, ist mir auch ein Rätsel.

    Gruß
    Aloys
     
    aloys78, 18. August 2019
    #10
  11. Wie muss ich den Code denn ändern, damit es:

    - Wenn man in A20 einen Wert eingibt nach wie vor "Leihgerät" in Spalte D schreibt
    - Wenn in C20 ein Wert eingegeben wird, es den Wert in Spalte D20 nicht mehr löscht.
    - Wenn der Wert aus Zelle A20 gelöscht wird, soll es den Inhalt der Zellen C20 & D20 ebenfalls löschen

    Nur in den Zellen A4 bis A19 soll es, wenn in Spalte C der Wert "IT" gewählt wird das Datum in Spalte D schreiben und es wieder löschen, wenn in Spalte C ein anderer Wert gewählt wird.

    Vielen Dank für die Unterstützung!
     
    Fussatur, 18. August 2019
    #11
  12. Hallo,

    mein Vorschlag:
    Code:
    Im übrigen verweise ich auf den letzten Satz in Berni's Beitrag #8.

    Gruß
    Aloys
     
    aloys78, 18. August 2019
    #12
Thema:

VBA Wenn Wert nicht vorhanden dann ...

Die Seite wird geladen...
  1. VBA Wenn Wert nicht vorhanden dann ... - Similar Threads - VBA Wert vorhanden

  2. Werte per VBA automatisch übertragen und fortlaufend speichern

    in Microsoft Excel Hilfe
    Werte per VBA automatisch übertragen und fortlaufend speichern: Moin, ich habe da mal eine bitte: wie kann ich diesen Code dazu bringen von einer bestimmten Datei automatische Werte in eine andere Datei kopiert? Ich kann zwar die Werte in derselben Tabelle...
  3. Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.)

    in Microsoft Excel Hilfe
    Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.): Hallo, ich benötige Hilfe für ein Problem, welches ich leider selbst schwerlich als Anfänger nicht lösen kann: Ich möchte von dem Tabellenblatt "Tabelle1" aus den Zellen B8:B14, K8:K14, B18:B25,...
  4. Pluszeichen bei pos. Werten mit benutzerdef. Formaten in markiertem Bereich voranstellen

    in Microsoft Excel Hilfe
    Pluszeichen bei pos. Werten mit benutzerdef. Formaten in markiertem Bereich voranstellen: Hallo zusammen, ich habe folgendes Problem: Ich möchte in hunderten Tabellen bzw. tausenden Zellen positiven Werten ein "+"-Zeichen voranstellen (also z.B. "+0,4" statt "0,4") und würde das...
  5. Zeilen mit bestimmten Wert in andere Tabelle (VBA Makro)

    in Microsoft Excel Hilfe
    Zeilen mit bestimmten Wert in andere Tabelle (VBA Makro): Hallöchen, ich stehe aktuell vor folgendem Problem: Wir haben ein Excel Makro, das über die Zeiterfassung alle Mitarbeiter und ihre Stunden in verschiedenen Positionen auflistet. Eine abgespeckte...
  6. Sperren von Zellen basierend auf Werten in einer anderen Zelle

    in Microsoft Excel Hilfe
    Sperren von Zellen basierend auf Werten in einer anderen Zelle: Hallo zusammen, ich brauche ein wenig "VBA-Hilfe" von den Fachleuten. Folgenden Code habe ich mit meinem Halbwissen zusammen gebastelt. Private Sub Worksheet_Change(ByVal Target As Range) If...
  7. Excel mit VBA ganze Zeile nach einem Wert in Zelle löschen

    in Microsoft Excel Hilfe
    Excel mit VBA ganze Zeile nach einem Wert in Zelle löschen: Hallo zusammen Mein Kopf ist kurz vorm Explodieren. Hoffe auf eure Hilfe: Ich versuche mit einem Makro anhand des Wertes der in Zelle G1 steht, alle Zeilen mit diesem Wert in der Tabelle zu...
  8. Wenn Dann Bedingung, Wenn wert in C3 vorhanden dann füge 1 in A3 ein usw...

    in Microsoft Excel Hilfe
    Wenn Dann Bedingung, Wenn wert in C3 vorhanden dann füge 1 in A3 ein usw...: Wenn Dann Bedingung, Wenn wert in E2 vorhanden dann füge 1 in A3 ein usw... Moin Moin, Ich bin noch VBA Neuling, und habe mich einer sehr komplexen Liste gewidmet. Das Problem was ich habe,...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden