Office: (Office 2016) VBA: Wenn Zelle X einen bestimmten Wert hat, soll in Zelle Y etwas eingetragen werden

Helfe beim Thema VBA: Wenn Zelle X einen bestimmten Wert hat, soll in Zelle Y etwas eingetragen werden in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Servus zusammen, Zunächst mal: Freut mich unter Euren Reihen zu sein ;-) Nun zum Problem. Ich möchte über ein Makro eine Funktion bauen, die wie... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von PapaEmeritus3, 9. September 2020.

  1. VBA: Wenn Zelle X einen bestimmten Wert hat, soll in Zelle Y etwas eingetragen werden


    Servus zusammen,

    Zunächst mal: Freut mich unter Euren Reihen zu sein ;-)

    Nun zum Problem.
    Ich möchte über ein Makro eine Funktion bauen, die wie folgt aufgebaut ist:
    Spalte A hat nur ein Merkmal in sechs Ausprägungen; als Freitextfeld oder über DropDown (Datenüberprüfung)
    Wenn 3 bestimmte Ausprägungen in der Zelle stehen, über DropDown oder Freitext, soll in der Zelle daneben ein "-" (ein Minus) erscheinen.

    Leider macht mich das Ganze langsam verrückt...

    Private Sub Worksheet_Doc_No(ByVal Target As Range)
    If Intersect(Target, Range("A1:A1000")) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "Email" Or "Besuch" Or "Anruf" Then
    Target.Offset(0, 1) = "-"
    Else:
    Target.Offset(0, 1).ClearContents
    End If
    End Sub

    Kann mir einer hierbei vielleicht helfen?

    Schönen Gruß,
    Papst im Ruhestand, der III
     
    PapaEmeritus3, 9. September 2020
    #1
  2. Lutz Fricke Erfahrener User
    Hallo PapaEmeritus3,

    musst Du deine Audienzen protokollieren??

    Wo genau ist dein Problem?
    Spontan sehe ich neben dem "Else" einen Doppelpunkt, der da nicht hingehört.
    Dann geht "If Target.Value = "Email" Or "Besuch" Or "Anruf" Then" nicht, sondern "If Target.Value = "Email" Or Target.Value = "Besuch" Or Target.Value = "Anruf" Then".
    Außerdem übergibst Du beim Start des Makro einen Zellbezug. Aber wo kommt der her? Startest Du das Makro durch ein anderes oder sollte es eigentlich ein Event sein?

    Hab da mal was gebastelt:
    HTML:
    Private Sub Worksheet_Doc_No()
    
    Dim Zeile As Integer
    
    For Zeile = 1 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(Zeile, 1) = "Email" Or Cells(Zeile, 1) = "Besuch" Or Cells(Zeile, 1) = "Anruf" Then
        Cells(Zeile, 2) = "-"
        Else
        Cells(Zeile, 2).ClearContents
        End If
    Next Zeile
    
    End Sub
    Gruß,
    Lutz
     
    Lutz Fricke, 10. September 2020
    #2
  3. Hi Lutz,

    vielen Dank!
    Protokollieren, nicht - die Datei hat einen anderen Hintergrund ;-)

    Das Makro soll eigentlich "permanent" laufen, also sobald ein Zelleneintrag vorgenommen ist, soll die Nachbarzelle befüllt werden.
     
    PapaEmeritus3, 10. September 2020
    #3
  4. Lutz Fricke Erfahrener User

    VBA: Wenn Zelle X einen bestimmten Wert hat, soll in Zelle Y etwas eingetragen werden

    Hallo PapaEmeritus3,

    na dann ist es ja fast noch viel einfacher:
    HTML:
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "Email" Or Target.Value = "Besuch" Or Target.Value = "Anruf" Then
    Target.Offset(0, 1) = "-"
    Else
    Target.Offset(0, 1).ClearContents
    End If
    
    End Sub
    
    Das Makro gehört in dein VBA-Projekt in das Blatt, in dem es arbeiten soll.
    Der Name "Private Sub Worksheet_Change(ByVal Target As Range)" ist wichtig und darf nicht geändert werden, da es sich um ein Event handelt. Also jedes mal, wenn du eine Zelle in dem Blatt änderst, läuft das Makro und prüft die gerade geänderte Zelle (Target).

    Gruß,
    Lutz
     
    Lutz Fricke, 10. September 2020
    #4
  5. Und wenn ich bereits ein Makro hab, welches mit Private Sub Worksheet_Change(ByVal Target As Range) beginnt?
    Fehler "Mehrdeutiger Name"...

    Hast Du auch hier Aushilfe?
     
    PapaEmeritus3, 10. September 2020
    #5
  6. Lutz Fricke Erfahrener User
    Dann musst Du beide zusammenschmeißen und, falls es sich um verschiedene zu bearbeitende Bereiche handelt, über eine If-Abfrage unterscheiden.

    Du kannst ja einfach mal beide Makros posten und dann schmeißen wir die zusammen.

    Gruß,
    Lutz
     
    Lutz Fricke, 10. September 2020
    #6
  7. Gerne ;-)


    Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("D1:D1000")) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If Target = "" Then
    Target.Offset(0, 1).ClearContents
    Else:
    Target.Offset(0, 1) = CDate(Format(Now, "dd.mm.yyyy"))
    End If
    End Sub

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "Email" Or Target.Value = "Besuch" Or Target.Value = "Anruf" Then
    Target.Offset(0, 1) = "-"
    Else
    Target.Offset(0, 1).ClearContents
    End If

    End Sub
     
    PapaEmeritus3, 10. September 2020
    #7
  8. Lutz Fricke Erfahrener User

    VBA: Wenn Zelle X einen bestimmten Wert hat, soll in Zelle Y etwas eingetragen werden

    HTML:
    Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Column = 4 Then
        If Target.Count > 1 Then Exit Sub
        If Target = "" Then
            Target.Offset(0, 1).ClearContents
        Else
            Target.Offset(0, 1) = CDate(Format(Now, "dd.mm.yyyy"))
        End If
    ElseIf Target.Column = 1 Then
        If Target.Count > 1 Then Exit Sub
        If Target.Value = "Email" Or Target.Value = "Besuch" Or Target.Value = "Anruf" Then
            Target.Offset(0, 1) = "-"
        Else
            Target.Offset(0, 1).ClearContents
        End If
    End If
    
    End Sub
     
    Lutz Fricke, 10. September 2020
    #8
  9. You, Sir, are the best! :-D
    Danke!!!!!!!!
     
    PapaEmeritus3, 10. September 2020
    #9
  10. Lutz Fricke Erfahrener User
    Keine Ursache ;-)
     
    Lutz Fricke, 10. September 2020
    #10
Thema:

VBA: Wenn Zelle X einen bestimmten Wert hat, soll in Zelle Y etwas eingetragen werden

Die Seite wird geladen...
  1. VBA: Wenn Zelle X einen bestimmten Wert hat, soll in Zelle Y etwas eingetragen werden - Similar Threads - VBA Zelle bestimmten

  2. Über Eingabefelder bestimmte Zellen füllen, wohl VBA

    in Microsoft Excel Hilfe
    Über Eingabefelder bestimmte Zellen füllen, wohl VBA: Hallo, suche eine Möglichkeit wenn ich am Monatsende den Stromzählerstand ablese und Datum in C1 und Zählerstand in C2 eintrage, das dann C1 (Datum) in B27 übertragen wird. Außerdem Wert in C2...
  3. Zeilen aufgrund von bestimmten Informationen in anderes Tabellenblatt kopieren

    in Microsoft Excel Hilfe
    Zeilen aufgrund von bestimmten Informationen in anderes Tabellenblatt kopieren: Hallo zusammen, ich bin erst vor ein paar Tagen auf die Excel VBA gestoßen und kenne mich deswegen leider so gut wie gar nicht aus. Ich würde gerne aus den Tabellen 3 - 11, bestimmte Zeilen in die...
  4. [EILT] Bestimmte Inhalte einer Zelle in eine andere Zelle kopieren und die Anzahl ausrechnen

    in Microsoft Excel Hilfe
    [EILT] Bestimmte Inhalte einer Zelle in eine andere Zelle kopieren und die Anzahl ausrechnen: Hallo zusammen, ich muss dringend bis Montag eine Liste fertigstellen, dass folgendes beinhaltet: Alle Mailadressen, die in der Zeile A2 sind, müssen untersucht werden und die Mailadressen mit...
  5. Bestimmte Zellen aus geschlossenen Dateien in eine Master Liste hineinkopieren VBA

    in Microsoft Excel Hilfe
    Bestimmte Zellen aus geschlossenen Dateien in eine Master Liste hineinkopieren VBA: Hallo, ich bin an meiner Thesis dran und möchte Protokolle auswerten. Dazu habe ich Dateien, die Tageswerte enthalten. Ich möchte aus jeder Datei die gleichen Zellen kopieren und in eine...
  6. VBA Zelle mit bestimmten Werten kopieren

    in Microsoft Excel Hilfe
    VBA Zelle mit bestimmten Werten kopieren: Hallo zusammen, ich habe folgendes Problem und keine wirkliche Lösung dafür. Ich möchte mittels VBA in einem Dokument alle Zeilen kopieren, welche in einer bestimmten Spalte (bspw. Spalte 11)...
  7. VBA: Bestimmte Zellen von einer Excel Datei in die andere (nach Bedienungen)

    in Microsoft Excel Hilfe
    VBA: Bestimmte Zellen von einer Excel Datei in die andere (nach Bedienungen): Guten Morgen zusammen, ich hab gesehen wie hilfreich dieser Forum sein kann und das hier sehr viel Expertise vorhanden ist die mir in meinem Fall weiterhelfen kann. Ich habe folgendes Problem:...
  8. Komischer Zahlen in der GUI + VBA bestimmte Zellen mit gewissen Inhalt nicht löschen

    in Microsoft Excel Hilfe
    Komischer Zahlen in der GUI + VBA bestimmte Zellen mit gewissen Inhalt nicht löschen: Hallo, ich bin neu hier im Forum, also bitte ich um Verständnis, wenn dies hier nicht der richtige Platz für dieses Thema ist. Ich habe 2 Anliegen. Auf dem ersten Bild könnt ihr die besagten...

Users found this page by searching for:

  1. excel vba wenn dann speichern

    ,
  2. excel makro wenn dann nimm 2 daneben

    ,
  3. werte zuordnen makro

  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