Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Abfrage nur wenn Ergebnis falsch
zurück: Suche in einer Excel Tabelle mit Makro weiter: VBA funktioniert unter Excel 2007 nicht richtig.Einstellunge Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Tom72
Möchtegern


Verfasst am:
11. Jun 2011, 01:16
Rufname: Tom
Wohnort: Mexiko

Abfrage nur wenn Ergebnis falsch - Abfrage nur wenn Ergebnis falsch

Nach oben
       Version: Office 2010

Hallo an alle,

Ich habe einen kleinen Schönheitsfehler mit diesem Code:

Code:

Sub Workbook_open()

Dim Jahr As Integer
Dim Monat As Integer
Dim Datum As Date
Dim verglj As Variant
Dim verglm As Variant
Dim Mldg1 As Variant
Dim Mldg2 As Variant
Dim Antwort1 As Variant
Dim Antwort2 As Variant
Dim Titel1 As Variant
Dim Titel2 As Variant
Dim Stil, Text

Sheets("code").Select

Mldg1 = "Möchten Sie die Jahreszahl in Zelle A1 ändern ?"       ' Meldung definieren.
Mldg2 = "Möchten Sie den Monat in Zelle B1 ändern ?"            ' Meldung definieren.
Stil = vbYesNo + vbCritical + vbDefaultButton2                  ' Schaltflächen definieren.
Titel1 = "Jahr"                                                 ' Titel definieren.
Titel2 = "Monat"                                                ' Titel definieren.

Datum = Date                                                    ' Datum enthält das aktuelle Systemdatum.

Jahr = Year(Datum)
Monat = Month(Datum)

verglj = (ActiveSheet.Cells(1, 1).Value = Jahr)                 'vergleich Zelle mit Varriable
verglm = (ActiveSheet.Cells(1, 2).Value = Monat)                'vergleich Zelle mit Varriable

If verglj = "Falsch" Then

   Range("Jahr").Select
   Range("Jahr").Interior.ColorIndex = 46
   Antwort1 = MsgBox(Mldg1, Stil, Titel1)               ' Meldung anzeigen.

If Antwort1 = vbYes Then                                ' Benutzer hat "Ja" gewählt.

   Range("Jahr").Value = Jahr                           ' Operation ausführen.
   Range("Jahr").Interior.ColorIndex = 2
Else                                                    ' Benutzer hat "Nein" gewählt.

   Text = "Nein"                                        ' Operation ausführen.

End If
End If

If verglm = "Falsch" Then

   Range("Monat").Select
   Range("Monat").Interior.ColorIndex = 46
   Antwort2 = MsgBox(Mldg2, Stil, Titel2)               ' Meldung anzeigen.

If Antwort2 = vbYes Then                                ' Benutzer hat "Ja" gewählt.

   Range("Monat").Value = Monat
   Range("Monat").Interior.ColorIndex = 2
Else                                                    ' Benutzer hat "Nein" gewählt.

   Text = "Nein"                                        ' Operation ausführen.

End If
End If

End Sub


Er funktioniert so einwandfrei, aber ich würde es gerne haben das wenn in Zelle A1 das aktuelle Jahr enthalten ist und in B1 der aktuelle Monat enthalten ist das keine Abfrage kommt.

Zur Zeit wird beim starten der Datei immer gefragt.
Vieleicht ist der Code ja so auch nicht richtig.
Könnte mir einer von Euch dabei helfen. Ich bin einfach zu dumm dafür.

Vielen Dank im voraus.

Mfg Tom
toms777
Interesse: EXCEL/VBA


Verfasst am:
11. Jun 2011, 06:33
Rufname:


AW: Abfrage nur wenn Ergebnis falsch - AW: Abfrage nur wenn Ergebnis falsch

Nach oben
       Version: Office 2010

Hallo

Ein Vergleich gibt einen Wahrheitswert zurück (True oder False) und nicht ein String "Wahr" oder "Falsch".

Ändere die Zeile

Code:
If verglj = "Falsch" Then


zu

Code:
If verglj = False Then


oder zu

Code:
If Not verglj Then

_________________
Gruß,
Thomas

PS: Bitte Rückmeldung geben ob eine Lösung funktioniert hat oder nicht damit andere User davon profitieren können!
r.mueller
Gast


Verfasst am:
11. Jun 2011, 06:36
Rufname:

AW: Abfrage nur wenn Ergebnis falsch - AW: Abfrage nur wenn Ergebnis falsch

Nach oben
       Version: Office 2010

Hallo

Code:

verglj = (Val(ActiveSheet.Cells(1, 1).Text) = Jahr)
verglm = (Val(ActiveSheet.Cells(1, 2).Text) = Monat)   


Gruß
r.mueller
Tom72
Möchtegern


Verfasst am:
11. Jun 2011, 07:46
Rufname: Tom
Wohnort: Mexiko

AW: Abfrage nur wenn Ergebnis falsch - AW: Abfrage nur wenn Ergebnis falsch

Nach oben
       Version: Office 2010

Hallo an alle,

Vielen Dank für Eure Hilfe hat aber leider nichts genützt.

Habe alle Varriante von Euch aus probiert. Wenn ich die Datei öffne kommt immer noch die Abfrage obwohl in A1 2011 steht und in B1 eine 6 für den Juni.

Nutze ich das so, passiert gar nichts mehr. Egal was in A1 oder in B1 steht.

Code:

If verglj = True Then


Vielen Dank noch mal für Eure Hilfe.

Mfg Tom
r.mueller
Gast


Verfasst am:
11. Jun 2011, 08:30
Rufname:


AW: Abfrage nur wenn Ergebnis falsch - AW: Abfrage nur wenn Ergebnis falsch

Nach oben
       Version: Office 2010

Hallo

declariere mal:

Code:

Dim verglj As Boolean
Dim verglm As Boolean


hast du diese Zeilen genau so geändert:

Code:

verglj = (Val(ActiveSheet.Cells(1, 1).Text) = Jahr)    '.Text!!!
verglm = (Val(ActiveSheet.Cells(1, 2).Text) = Monat)  '.Text!!!


und ( beides) auch die Abfragen :

Code:

If  verglj = False Then
If  verglm = False Then


was ist in den variablen verglj und verglm wenn du dies im Schrittmodus
ausführst?

Gruß
r.mueller
Tom72
Möchtegern


Verfasst am:
12. Jun 2011, 07:34
Rufname: Tom
Wohnort: Mexiko

AW: Abfrage nur wenn Ergebnis falsch - AW: Abfrage nur wenn Ergebnis falsch

Nach oben
       Version: Office 2010

Hallo,

Erstmal vielen Dank für eure hilfe.

Mein code sieht so aus:

Code:

Sub Workbook_Open()

Dim Jahr As Integer
Dim Monat As Integer
Dim Datum As Date
Dim verglj As Boolean
Dim verglm As Boolean
Dim Mldg1 As Variant
Dim Mldg2 As Variant
Dim Antwort1 As Variant
Dim Antwort2 As Variant
Dim Titel1 As Variant
Dim Titel2 As Variant
Dim Stil, Text

Sheets("code").Select

Mldg1 = "Möchten Sie die Jahreszahl in Zelle A1 ändern ?"       ' Meldung definieren.
Mldg2 = "Möchten Sie den Monat in Zelle B1 ändern ?"            ' Meldung definieren.
Stil = vbYesNo + vbCritical + vbDefaultButton2                  ' Schaltflächen definieren.
Titel1 = "Jahr"                                                 ' Titel definieren.
Titel2 = "Monat"                                                ' Titel definieren.

Datum = Date                                                    ' Datum enthält das aktuelle Systemdatum.

Jahr = Year(Datum)
Monat = Month(Datum)

'verglj = (ActiveSheet.Cells(1, 1).Value = Jahr)                 'vergleich Zelle mit Varriable
'verglm = (ActiveSheet.Cells(1, 2).Value = Monat)                'vergleich Zelle mit Varriable
verglj = (Val(ActiveSheet.Cells(1, 1).Text) = Jahr)
verglm = (Val(ActiveSheet.Cells(1, 2).Text) = Monat)


'If verglj = "Falsch" Then
If verglj = False Then
'If Not verglj Then

   Range("Jahr").Select
   Range("Jahr").Interior.ColorIndex = 46
   Antwort1 = MsgBox(Mldg1, Stil, Titel1)               ' Meldung anzeigen.

If Antwort1 = vbYes Then                                ' Benutzer hat "Ja" gewählt.

   Range("Jahr").Value = Jahr                           ' Operation ausführen.
   Range("Jahr").Interior.ColorIndex = 2
Else                                                    ' Benutzer hat "Nein" gewählt.

   Text = "Nein"                                        ' Operation ausführen.

End If
End If

'If verglm = "Falsch" Then
If verglm = False Then
'If Not verglm Then

   Range("Monat").Select
   Range("Monat").Interior.ColorIndex = 46
   Antwort2 = MsgBox(Mldg2, Stil, Titel2)               ' Meldung anzeigen.

If Antwort2 = vbYes Then                                ' Benutzer hat "Ja" gewählt.

   Range("Monat").Value = Monat
   Range("Monat").Interior.ColorIndex = 2
Else                                                    ' Benutzer hat "Nein" gewählt.

   Text = "Nein"                                        ' Operation ausführen.

End If
End If
End Sub



Im schrittmodus:

Zitat:

was ist in den variablen verglj und verglm wenn du dies im Schrittmodus
ausführst?


In den variablen ist das Wort Falsch ethalten.

Vielen Dank noch mal für Eure hilfe.

Mfg Tom
r.mueller
Gast


Verfasst am:
12. Jun 2011, 08:34
Rufname:

AW: Abfrage nur wenn Ergebnis falsch - AW: Abfrage nur wenn Ergebnis falsch

Nach oben
       Version: Office 2010

Hallo

Bei meinem Test funzt es so wie es jetzt ist.

Gruß
r.mueller
Tom72
Möchtegern


Verfasst am:
12. Jun 2011, 19:18
Rufname: Tom
Wohnort: Mexiko

AW: Abfrage nur wenn Ergebnis falsch - AW: Abfrage nur wenn Ergebnis falsch

Nach oben
       Version: Office 2010

Hallo r.müller,

Jetzt muß ich mal fragen wie funktioniert es denn jetzt bei dir?

Bei mir nicht so wie ich es gerne hätte.
Bei mir kommt die Abfrage obwohl 2011 in der Zelle steht und eine 6 in der Zelle steht.

Wenn jetzt 2010 in Zelle stehen würde oder eine 3 in der anderen Zelle und die Abfrage kommen würde wäre es richtig.

Hier 2 Screenshots.

http://www.pic-upload.de/view-10301506/screenshot.jpg.html

http://www.pic-upload.de/view-10301513/screenshot2.jpg.html


Vielen Dank nochmal für Deine Hilfe.

Mfg Tom
r.mueller
Gast


Verfasst am:
12. Jun 2011, 20:21
Rufname:

AW: Abfrage nur wenn Ergebnis falsch - AW: Abfrage nur wenn Ergebnis falsch

Nach oben
       Version: Office 2010

Hallo

Ist ja auch kein Wunder

Code:

verglj = (Val(ActiveSheet.Cells(2, 1).Text) = Jahr)
verglm = (Val(ActiveSheet.Cells(2, 2).Text) = Monat)


Bei dier stehen 2011 und 6 in A2 und B2
und nicht wie du angegeben hast in A1 und B1

Gruß
r.mueller
Tom72
Möchtegern


Verfasst am:
13. Jun 2011, 04:30
Rufname: Tom
Wohnort: Mexiko


AW: Abfrage nur wenn Ergebnis falsch - AW: Abfrage nur wenn Ergebnis falsch

Nach oben
       Version: Office 2010

Hallo r.müller,


Vielen vielen Dank für deine Hilfe, ich bin auch so ein Esel.

Das hätte mir nun wirklich auffallen können.

Ich sag ja, was VBA betrifft da habe ich 2 linke Hände und knick in der Optik.


Also super Arbeit von dir. Vielen Dank noch mal.

Mfg Tom
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: IDENTISCH liefert immer FALSCH, obwohl Werte gleich 6 Treepwood 2074 05. Sep 2012, 14:33
SCL IDENTISCH liefert immer FALSCH, obwohl Werte gleich
Keine neuen Beiträge Excel Formeln: HILFE: Für Fussball Tipp / Ergebnis Punkte WENN Funktion 7 Gast 10799 25. Mai 2006, 00:04
Panzer HILFE: Für Fussball Tipp / Ergebnis Punkte WENN Funktion
Keine neuen Beiträge Excel Formeln: Abfrage - gibts ne andere Lösung? 5 Amanda 829 12. Apr 2006, 11:37
c0bRa Abfrage - gibts ne andere Lösung?
Keine neuen Beiträge Excel Formeln: Wenn Formel zeigt mir noch ein "Falsch" 5 Chesus =) 718 15. März 2006, 10:08
Chesus =) Wenn Formel zeigt mir noch ein "Falsch"
Keine neuen Beiträge Excel Formeln: Falsches Ergebnis Zelle * Winkelfunktion 3 frank_rothmann 4283 20. Jan 2006, 13:20
frank_rothmann Falsches Ergebnis Zelle * Winkelfunktion
Keine neuen Beiträge Excel Formeln: ZaehlenWenn: Ergebnis einfrieren? 2 Caro 625 05. Dez 2005, 08:17
Caro ZaehlenWenn: Ergebnis einfrieren?
Keine neuen Beiträge Excel Formeln: Anzeigen Ergebnis ohne Leerstelle 0 heinrich21 636 15. Nov 2005, 21:34
heinrich21 Anzeigen Ergebnis ohne Leerstelle
Keine neuen Beiträge Excel Formeln: Abfrage einer Excelzelle nach bestimmten Zeichen 15 This is Real 4509 09. Nov 2005, 16:11
fridgenep Abfrage einer Excelzelle nach bestimmten Zeichen
Keine neuen Beiträge Excel Formeln: In der wenn abfrage habe ich ein fehler 9 sascha-patrick 965 21. Okt 2005, 01:24
Maxel3113 In der wenn abfrage habe ich ein fehler
Keine neuen Beiträge Excel Formeln: Habe ich was falsch gemacht ???????????????????? 1 norbert10296 505 05. Okt 2005, 18:15
ae Habe ich was falsch gemacht ????????????????????
Keine neuen Beiträge Excel Formeln: Was ist falsch an dieser Formel? 8 Gast 824 16. Sep 2005, 17:56
Gast Was ist falsch an dieser Formel?
Keine neuen Beiträge Excel Formeln: Wenn Abfrage 13 eric 1 939 04. Aug 2005, 13:54
Gast Wenn Abfrage
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks