Office: If statement mit AND Verknüpfung

Helfe beim Thema If statement mit AND Verknüpfung in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi, ich habe folgendes Probelm: Ausgangssituation (vereinfacht) ich habe zwei Tabellenblätter 1) relevante Spalten: Nr1, Name1, Name2, Datum1, Datum2... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Herbert1900, 25. März 2017.

  1. If statement mit AND Verknüpfung


    Hi,

    ich habe folgendes Probelm:

    Ausgangssituation (vereinfacht)
    ich habe zwei Tabellenblätter
    1) relevante Spalten: Nr1, Name1, Name2, Datum1, Datum2
    2) relevante Spalten: Nr2, Name3, Name4, Datum3

    Das folgende Programm soll folgendes tun:
    Wenn entweder Name1 oder Name2 in entweder Name3 oder Name4 vorkommt und Datum3 im Bereich zwischen Datum1 und Datum2 liegt und Nr1 nicht Nr2 ist,
    dann gib mir Nr2 aus.
    Jeiweils jede Zeile in Tabellenblatt 1 mit allen Zeilen in Tabellenblatt 2 vergleichen, dann nächste Zeile in Tabellenblatt 1.

    Problem:
    Mein Programm gibt mir auch Nr2 aus, wenn eine Zelle in Name3 oder Name4 leer ist. Sollte dies aber nur tun, wenn wie gesagt "Name1 oder Name2 in entweder Name3 oder Name4 vorkommt".

    Würde mich sehr freuen, wenn mir jemand helfen kann :-)

    Mein Programm:
    (zur besseren lesbarkeit habe ich einen Zeilenumbruch vor dem nächsten AND/OR gemacht)

    Sub Timeoverlap()

    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim dealnumber As Range
    Dim dealnumber2 As Range


    Set dealnumber = Range("dealnumber")
    Set dealnumber2 = Range("dealnumber2")
    k = -1

    For i = 2 To dealnumber.Rows.Count
    k = -1
    For j = 2 To dealnumber2.Rows.Count

    If ((Worksheets("Results").Cells(i, 8).Value = Worksheets("Results (2)").Cells(j, 3).Value
    Or Worksheets("Results").Cells(i, 8).Value = Worksheets("Results (2)").Cells(j, 5).Value)
    Or (Worksheets("Results").Cells(i, 18).Value = Worksheets("Results (2)").Cells(j, 3).Value
    Or Worksheets("Results").Cells(i, 18).Value = Worksheets("Results (2)").Cells(j, 5).Value))
    And Worksheets("Results (2)").Cells(j, 10).Value >= Worksheets("Results").Cells(i, 38).Value
    And Worksheets("Results (2)").Cells(j, 10).Value

    :)
     
    Herbert1900, 25. März 2017
    #1
  2. Hi Herbert,

    ...eine Schleife würde doch genügen. Durchlaufe alle Zeilen von 1 bis x.
    Dann verwendest Du Zählervariablen und vergleichst die...

    Bsp.:
    Code:
     
  3. Hi Ralf,

    vielen Dank für die Antwort!

    Leider fehlt mir nun folgendes:
    Wenn mehrere zeilen in dem Tabellenblatt 2 die Bedingungen für eine Zeile in dem Tabellenblatt 1 erfüllen, schreibe mir alle nr2 auf.

    Beispiel:
    Tabellenblatt 1; Zeile 1:
    Nr.: 123
    Name1: Peter
    Name2: Sabine
    Datum 1: 01.01.15
    Datum 2: 01.02.15

    Tabellenblatt 2; Zeile 1:
    Nr.2: 234
    Name3: Sabine
    Name4: -
    Datum3: 02.01.15

    Tabellenblatt 2; Zeile 2:
    Nr.2: 345
    Name3: -
    Name4: Peter
    Datum3: 05.01.15

    --> beide Zeilen in Tabellenblatt 2 erfüllen die Bedingungen
    (( Name1=Name3 OR Name1=Name4 OR Name2=Name3 OR Name2=Name4) AND "datum in Bereich" AND NRNR2)

    Nun möchte ich in Tabellenblatt1:
    Spalte x Zeile 1= Nr2(aus Zeile 1)
    Spalte x+1 Zeile 1= Nr2 (aus Zeile 2)
    ...

    In jeder folgenden Zeile in Tabellenblatt1 die er mit allen Zeilen in Tabellenblatt2 abgleicht und ein "Match" findet schreibe mir wieder die NR2 in Spalte x; x+1 ...

    Deswegen die zwei Loops....

    Vll kannst du mir ja auch hier aushelfen :-)

    Viele Grüße
    Damian
     
    Herbert1900, 27. März 2017
    #3
  4. If statement mit AND Verknüpfung

    Hi Herbert?, Damian?,

    es bringt nicht viel, hier ein paar Beispiele zu posten. Soll ich, oder jemand anderes die jetzt nachbauen? Besser, Du stellst ein Beispieldatei hier ein.

    Du kommst dennoch ohne 2. Schleife aus, indem Du die Find Funktion nutzt.
    Hier mal eine Beispielfunktion, die Find nutzt und Dir ein Array aller gefundenen Vorkommen zurückliefert. Ich hoffe, die Signatur ist eindeutig genug.

    Code:
    Den Aufruf bindest Du in die 1. Schleife mit ein und wertest das Ergebnis dann in einer weiteren Schleife aus. Aber.... nur dann, wenn etwas gefunden wurde und nur für die Zellen in denen was gefunden wurde. Verkürzt die Bearbeitung dann doch...
     
Thema:

If statement mit AND Verknüpfung

Die Seite wird geladen...
  1. If statement mit AND Verknüpfung - Similar Threads - statement AND Verknüpfung

  2. Format(vorlage) für Zeilennummern ändern

    in Microsoft Word Hilfe
    Format(vorlage) für Zeilennummern ändern: Hallo Forum, ich würde gerne das Format meiner Zeilennummern ändern. Im Moment scheint es etwas zu sein wie Arial 12. Obwohl mein Dokument Zeilennummern aufweist, erscheint jedoch keine...
  3. Power Query - nested if statement - Klammern

    in Microsoft Excel Hilfe
    Power Query - nested if statement - Klammern: Hallo zusammen, kann mir jemand beantworten, in welchen Fällen bei nested if statements in Power Query Klammern notwendig sind und wann nicht? Beispiel: if [Number] > 0 then "Positive" else (if...
  4. Fehler in Sql-Statement

    in Microsoft Access Hilfe
    Fehler in Sql-Statement: Hallo, kurz und knapp, was stimmt an diesem SQL Statement nicht? sql = "UPDATE tblSettings SET SettingValues = " & BUPath & " WHERE Setting= BackupPath;" Fehlermeldung: Fehlender Operator in...
  5. Wert aus Formular-Feld an SQL-Statement übergeben

    in Microsoft Access Hilfe
    Wert aus Formular-Feld an SQL-Statement übergeben: Hallo werte Access-Helfer, ich möchte in einem Unterformular (neues Angebot anlegen) nur die Werte in einer DropSown-Box angezeigt bekommen, die zu diesem Hauptformular (Kontakte dieses Kunden)...
  6. INSERT INTO Statement mit mehreren Datensätzen

    in Microsoft Access Hilfe
    INSERT INTO Statement mit mehreren Datensätzen: Hallo Leute, ich habe eine Access 2000 Datenbank. Diese liest in einer Schleife ein Logfile Zeile für zeila aus. Alle Zeilen werden in eine Tabelle geschrieben (über die "db.Execute" Methode)....
  7. Länge eines Textfeldes im SQL Statement bestimmen

    in Microsoft Access Hilfe
    Länge eines Textfeldes im SQL Statement bestimmen: Hallo zusammen Ich habe für eine für SQL-Cracks wahrscheinlich lächerliche Frage: Wie kann ich in einer Tabellenerstellungsabfrage dem zu erstellenden (Text-)Feld eine bestimmte Länge geben? Wie...
  8. SQL Statement in Bericht - DomAnzahl?!?

    in Microsoft Access Hilfe
    SQL Statement in Bericht - DomAnzahl?!?: Hallo Leute, ich möchte gerne dieses SQL Statement in einem Bericht verwenden: SELECT COUNT(*) as Anzahl FROM Pacht INNER JOIN (Bestand INNER JOIN Pachtbezeichnungen ON...
  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