Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
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

Problem bei If - ElsIf - Abfrage

Problem bei If - ElsIf - Abfrage
16.12.2016 14:30:53
Michael
Hallo zusammen,
das Tabellenblatt 1 wird nach Ausfüllen bestimmter Zellen als PDF - Dokument gespeichert und dann als Email - Anhang in einer neuen Nachricht hochgeladen.
In den Zellen B7; B9 und B11 sind die Betreffzeilen eingetragen.
Der Anwender kann mittels „x“ in den Zellen A7; A9 und A11 aussuchen, welche Betreffzeile in Outlook er benötigt.
Da es sieben Möglichkeiten gibt, wollte ich diese in eine If - ElseIf - Abfrage bewerkstelligen.
Habe dieses für die ersten drei hinbekommen (A7 = B7 etc.)
Hier mein Code:
  • Dim Sname As String 'Definieren von Betreff
    ' Betreff - Zeile gemäß Vorgabe ausfüllen
    If Sheets("Tabelle1").Range("A7") = "x" Then
    Sname = Sheets("Tabelle1").Range("B7")
    ElseIf Sheets("Tabelle1").Range("A9") = "x" Then
    Sname = Sheets("Tabelle1").Range("B9")
    ElseIf Sheets("Tabelle1").Range("A11") = "x" Then
    Sname = Sheets("Tabelle1").Range("B11")
    'ElseIf Sheets("Tabelle1").Range("A7") = "x" And Sheets("Tabelle1").Range("A9") = "x" Then
    'Sname = Sheets("Tabelle1").Range("B7") & " und " & Sheets("Tabelle1").Range("B9")
    End If

  • Was mit ElseIF nicht klappt sind die beiden letzten Zeilen.
    Mache ich eine neue If - Abfrage klappt es hervorragend (auch mit drei ):
  • ' Betreff - Zeile gemäß Vorgabe ausfüllen bei zweimal x A7 und A9
    If Sheets("Tabelle1").Range("A7") = "x" And Sheets("Tabelle1").Range("A9") = "x" Then
    Sname = Sheets("Tabelle1").Range("B7") & " und " & Sheets("Tabelle1").Range("B9")
    End If

  • Kann mir einer bitte erklären, warum dieses in der ersten Abfrage nicht funktioniert oder wo ich den Fehler gemacht habe.
    Für eure Mühe bedanke ich mich im Voraus und wünsche allen ein schönes Wochenende
    Gruß
    Michael

    5
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Problem bei If - ElsIf - Abfrage
    16.12.2016 14:42:06
    hary
    Moin
    Du musst
    If Sheets("Tabelle1").Range("A7") = "x" And Sheets("Tabelle1").Range("A9") = "x" Then
    Sname = Sheets("Tabelle1").Range("B7") & " und " & Sheets("Tabelle1").Range("B9")
    
    ganz nach oben setzen.
    Da der Code ja schon bei
    If Sheets("Tabelle1").Range("A7") = "x" Then
    

    ganz oben A7 = "x" findet und nicht mehr weitermacht.
    gruss hary
    AW:Sry, schlecht beschrieben
    16.12.2016 14:50:20
    hary
    Moin nochmal
    War ein wenig bescheiden beschrieben. So muss es aussehen sonst steig der Code am Anfang gleich aus wenn nur A7 ein x hat.
    If Sheets("Tabelle1").Range("A7") = "x" And Sheets("Tabelle1").Range("A9") = "x" Then
    ElseIf Sheets("Tabelle1").Range("A7") = "x" Then
    '------usw------
    
    gruss hary
    Anzeige
    AW: Problem bei If - ElsIf - Abfrage
    16.12.2016 14:51:39
    Michael
    Hallo Harry,
    das war der Fehler.
    Schönen Dank für deine schnelle Hilfe.
    Gruß und schönes Wochenende
    Michael
    AW: Problem bei If - ElsIf - Abfrage
    16.12.2016 23:01:48
    Gerd
    Guten Abend,
    so geht 's auch.
    Sub bbb()
    Dim WS As Worksheet, A As Variant, B As Variant, Sname As String, L As Long
    Set WS = Worksheets("Tabelle1")
    A = Application.Transpose(WS.Range("A7:A9"))
    B = Application.Transpose(WS.Range("B7:B9"))
    For L = 1 To 3
    If A(L) = "x" And B(L)  "" Then
    If Sname = "" Then
    Sname = B(L)
    Else
    Sname = Sname & " und " & B(L)
    End If
    End If
    Next
    If Len(Sname) = 0 Then
    MsgBox "Kein x oder nix unter x !"
    Else
    MsgBox Sname
    End If
    End Sub
    
    Gruß Gerd
    Anzeige
    AW: Problem bei If - ElsIf - Abfrage
    19.12.2016 09:19:00
    Michael
    Hallo Gerd,
    habe erst gerade deine Mail gelesen.
    Schönen Dank für deinen Tipp. Ist natürlich wesentlich kürzer als meine Variante.
    Wünsche noch einen schönen Tag
    Gruß
    Michael

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige