Microsoft Excel

Herbers Excel/VBA-Archiv

Werte einfügen zwei Bedingungen

Betrifft: Werte einfügen zwei Bedingungen von: Mani
Geschrieben am: 17.09.2020 11:41:20

Hallo zusammen,
ich bräuchte eure Hilfe.
Wenn 2 Bedingungen (in Spalte A und Zeile 2) in Tabellenblatt 1 erfüllt sind sollen die Daten aus Tabellenblatt 2 übernommen werden. Es sein denn in Tabellenblatt 1 stehen in der Zeile schon Daten.
Ich habe es mit einer Hilfsspalte in Tabellenblatt 2 und dem Sverweis gelöst.
Allerdings funktioniert das ganze nicht wenn schon ein Wert vorhanden ist und dieser nicht
überschrieben werden soll.
Ich bräuchte eine Lösung als Makro und ohne Hilfsspalte.
Allerdings kriege ich das mit 2 Bedingungen nicht hin.
Könntet ihr mir bei diesem Problem helfen?

Danke, der Mani

https://www.herber.de/bbs/user/140286.xlsm

Betrifft: AW: Werte einfügen zwei Bedingungen
von: Armin
Geschrieben am: 17.09.2020 14:46:56

Hallo Mani,
so müsste es gehen. Nach Eingabe der ID werden geprüft ob ein Date vorhanden ist und je nach Status ausgewählt und eingetragen.
https://www.herber.de/bbs/user/140291.xlsm

Gruß Armin

Betrifft: AW: Werte einfügen zwei Bedingungen
von: Mani
Geschrieben am: 17.09.2020 16:02:11

Hallo Armin,
Funktioniert, danke dir.

Allerdings habe ich jetzt noch das Problem wenn vorher schon Daten in der Zieltabelle stehen und ich die ID eingebe diese überschrieben werden.
Vielleicht kriege ich das in deinen Vorschlag selber eingebaut.

Danke

Gruß der Mani

Betrifft: AW: Werte einfügen zwei Bedingungen
von: Armin
Geschrieben am: 17.09.2020 16:42:58

Hallo Mani,
so sollte auch das funktionieren:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zeile As Integer
Dim Spalte As Variant
Dim N As Integer

Spalte = Array("AA", "AC", "AD", "AE", "AF", "AG")
With Worksheets("Start")
     If Target.Row > 2 And Target.Column = 1 And Target.Count = 1 Then
        For N = 0 To UBound(Spalte)
            If IsDate(Target.Offset(0, N + 1).Value) Then Exit Sub
        Next
        Application.EnableEvents = False
        For Zeile = 2 To .Cells(Rows.Count, 2).End(xlUp).Row
            If Target.Value = .Cells(Zeile, 2).Value Then
               If IsDate(.Cells(Zeile, 4).Value) Then
                  For N = 0 To UBound(Spalte)
                      If Spalte(N) = .Cells(Zeile, 3).Value Then
                         Target.Offset(0, N + 1).Value = .Cells(Zeile, 4).Value
                         Exit For
                      End If
                   Next
               End If
            End If
        Next
     End If
End With
Application.EnableEvents = True
End Sub
Gruß Armin

Betrifft: AW: Werte einfügen zwei Bedingungen
von: Mani
Geschrieben am: 17.09.2020 17:17:19

Danke dir Armin,
das hätte ich so nicht hinbekommen.
Ich will nicht unhöflich sein aber eine kleine Frage hätte ich noch.
Was oder wie müsste ich deinen Code umschreiben das er nicht erst ausgelöst wird wenn ich einen neuen Eintrag in eine Zeile schreibe und nur diese Zeile mit den Daten gefüllt wird.
Ich müsste das so hinkriegen das mir jedes mal jede ID auf neue Daten geprüft wird und das Datum wenn noch nicht vorhanden eingetragen wird.

Vielen Dank für deine Hilfe

Gruß der Mani

Betrifft: AW: Werte einfügen zwei Bedingungen
von: Armin
Geschrieben am: 18.09.2020 07:21:45

Hallo Mani,
das wiederspricht aber deiner vorherigen Aussage! Es sollte keine Änderung mehr erfolgen!
Also was soll denn nun passieren irgend wie musst du dich entscheiden.

Gruß Armin

Betrifft: AW: Werte einfügen zwei Bedingungen
von: Mani
Geschrieben am: 18.09.2020 15:54:35

Entschuldige Armin ,
ich habe mich da verkehrt ausgedrückt bzw wusste ich glaube ich am Anfang selber noch nicht
genau wie es am besten wäre.
Es sollte jede ID jedes mal auf neue Daten überprüft werden. Sollte sich in der Zieltabelle allerdings schon ein Datum befinden sollte diese nicht überschrieben werden. Nur das Datum eintragen wo die Zellen noch leer sind.
Entschuldige die Umstände

Gruß Mani

Betrifft: AW: Werte einfügen zwei Bedingungen
von: Armin
Geschrieben am: 19.09.2020 10:02:53

Hallo Mani,
jetzt habe ich den Code erweitert. Die Eingabe wie gehabt unter Beachtung das kein Datum überschrieben bzw. geändert wird. Um die Daten zu ergänzen Zelle A2 rechte Maustaste - Daten werden ergänzt. Aber nur ID's die bereits vorhanden sind! Keine Neu hinzugekommenen ID! Dazu müsste man die Start-Tabelle sortieren.
https://www.herber.de/bbs/user/140324.xlsm

Gruß Armin

Betrifft: AW: Werte einfügen zwei Bedingungen
von: Mani
Geschrieben am: 19.09.2020 20:03:40

Vielen Vielen Dank Armin

Beste Grüße Mani

Beiträge aus dem Excel-Forum zum Thema "Werte einfügen zwei Bedingungen"