if....else...end if.....Irgendwo stimmt was nicht

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: if....else...end if.....Irgendwo stimmt was nicht
von: Peter S.
Geschrieben am: 25.04.2005 12:05:39
Hallo liebe Helfer,
bei nachstehendem Code wird immer das "else"-Ereignis ausgeführt, lasse ich es weg, dann wird die Abfrage ausgeführt und er schreibt das Gewünschte, allerdings wird es dann im anderen Fall natürlich nicht mehr korrigiert. Wer kann da mal bitte hilfreich eingreifen?
CommandButton1_click
For n = 10 To 40
With Sheets("IntHauskalkulation")
If .Range("C" & n).Value = "Baugrubenaushub für den Keller" Then
Sheets("Gesamtaufstellung").Range("H13").Value = Sheets("IntHauskalkulation").Range("G" & n).Value
Sheets("Gesamtaufstellung").Range("C13").Value = "Erdarbeiten (im Hauspreis enthalten)"
Else
Sheets("Gesamtaufstellung").Range("H13").Value = Sheets("Eigenleistung").Range("G31").Value
Sheets("Gesamtaufstellung").Range("C13").Value = "Erdarbeiten (lt.Formular Eigenleistung)"
End If
End With
Next n
End Sub
Vielen Dank
Peter S.

Bild

Betrifft: AW: if....else...end if.....Irgendwo stimmt was nicht
von: u_
Geschrieben am: 25.04.2005 12:12:40
Hallo,
das sieht soweit ok aus. möglicherweise stimmen die Texte nicht überein, z.B. Leerzeichen am Ende.
Gruß
Bild

Betrifft: Texte sind korrekt.....was is dann falsch?
von: Peter S.
Geschrieben am: 25.04.2005 12:23:05
Habe die Texte überprüft....sie sind korrekt
Bild

Betrifft: AW: Texte sind korrekt.....was is dann falsch?
von: Hajo_Zi
Geschrieben am: 25.04.2005 12:27:18
Hallo Peter,
es hat keiner aus dem Forum neben Dir gesessen als Du das ghetestet hast! Vermute ich mal. Lade mal eine Datei hoch.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!" Dies gilt auch für Bert.
Bild

Betrifft: Hier is die Datei....Danke für Eure Mühe
von: Peter S.
Geschrieben am: 25.04.2005 13:05:49
Hallo Hajo und alle anderen,
freut mich, dass Ihr mich bei meinem Prob unterstützen wollt. Hier ist die Datei:
https://www.herber.de/bbs/user/21663.xls
Viele Grüße
Peter S.
Bild

Betrifft: AW: Hier is die Datei....Danke für Eure Mühe
von: Hajo_Zi
Geschrieben am: 25.04.2005 13:14:16
Hallo Peter,
Da Du den Text immer in die gleichen Zellen schreibst (H13;C13) bekommst Du nur einen anderen Text wenn in Tabelle "IntHauskalkulation" in Zelle C40 der Text "Baugrubenaushub für den Keller" steht.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!" Dies gilt auch für Bert.
Bild

Betrifft: AW: Hier is die Datei....Danke für Eure Mühe
von: Peter S.
Geschrieben am: 25.04.2005 14:00:00
Hallo Hajo,
zunächst mal Danke für Deine Antwort, jedoch is mein Anliegen etwas Anderes:
Wenn im Bereich C10:C40 in der IntHauskalkulation die Bedingung erfüllt ist, soll sich der Text in die Gesamtaufstellung schreiben; und wenn ich die else-Bedingung weglasse, dann tut er das auch.
Kannst Du mir sagen wie ich die Else-Bedingung formulieren müsste (oder steht sie nur an der falschen Stelle?), damit sie auch wirklich als "else" funktioniert
Viele Grüße
Peter S.
Bild

Betrifft: AW: Hier is die Datei....Danke für Eure Mühe
von: Hajo_Zi
Geschrieben am: 25.04.2005 14:14:32
Hallo Peter,
der Else Zweig geht er wird 29 mal durchlauf weilö nur in eine Zelle "Baugrubenaushub für den Keller" steht.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!" Dies gilt auch für Bert.
Bild

Betrifft: Hajo....ich denke wir reden aneinander vorbei
von: Peter S.
Geschrieben am: 25.04.2005 14:28:45
Hallo Hajo,
ja natürlich Du hast Recht, er durchläuft das Ganze 29 mal; jedoch mit einem nicht beabsichtigten Ergebnis...
die else Bedingung soll ja nur dann greifen, wenn im Bereich C10:C40 nicht in einer der Zeilen die Bedingung erfüllt ist!
Kannst Du mir diesbezüglich weiterhelfen?
Danke
Peter S.
Bild

Betrifft: AW: Hajo....ich denke wir reden aneinander vorbei
von: Hajo_Zi
Geschrieben am: 25.04.2005 14:38:57
Hallo Peter,
eine klarte Beschreibung ist schon die halbe Lösung. So hast Du es noch nicht beschrieben.
Option Explicit

Private Sub CommandButton1_Click()
    Dim N As Byte
    Dim BoWert As Boolean
    For N = 10 To 40
        With Sheets("IntHauskalkulation")
            If .Range("C" & N).Value = "Baugrubenaushub für den Keller" Or .Range("C" & N).Value = "Erdabtrag für die Gründungssohle" Then
                BoWert = True
                Exit For
            End If
        End With
    Next N
    If BoWert = True Then
        Sheets("Gesamtaufstellung").Range("H13").Value = Sheets("IntHauskalkulation").Range("G" & N).Value
        Sheets("Gesamtaufstellung").Range("C13").Value = "Erdarbeiten (im Hauspreis enthalten)"
    Else
        Sheets("Gesamtaufstellung").Range("H13").Value = Sheets("Eigenleistung").Range("G31").Value
        Sheets("Gesamtaufstellung").Range("C13").Value = "Erdarbeiten (lt.Formular Eigenleistung)"
    End If
End Sub

Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!" Dies gilt auch für Bert.
Bild

Betrifft: Hajo....perfekt.....mit Text
von: Peter S.
Geschrieben am: 25.04.2005 14:46:34
Hallo Hajo,
bitte entschuldige, dass ich den Sachverhalt ungenügend geschildert habe; jetzt ist es perfekt.
Mit meinen bescheidenen Mitteln ausgedrückt heisst dies: sobald die Bedingung das erste Mal erfüllt ist, wird die Schleife abgebrochen; läuft die Schleife bis zum Ende durch, wird die else-Bedingung verwendet.
Vielen Dank für Deine Hilfe
Peter S.
 Bild

Beiträge aus den Excel-Beispielen zum Thema "if....else...end if.....Irgendwo stimmt was nicht"