Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: VBA: Warum wird die Excel-Datei nicht geschlossen?

  1. #1
    Registriert seit
    01.01.2009
    Ort
    Niedersachsen
    Beiträge
    813
    Danke
    180
    Erhielt 79 Danke für 75 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe in der Hilfe und mit der Suchfunktion keine Antwort gefunden.

    Ich verstehe nicht, warum die Excel-Datei nicht geschlossen wird (der hier rot eingefärbte Text).


    Private Sub Workbook_Open()
    'Den Zähler auf 2 vorbelegen
    Zähler = 2
    'Die Schleife ausführen, solange der Zähler <= 19 ist.
    Do While Zähler <= 19
    'Den Tag und Monat aus der ausgewählten Zelle mit dem heutigen Tag und Monat vergleichen (Gburtstag)
    Set TagMonat = Range("A" & Zähler)
    If Left(TagMonat, 5) = Left(Date, 5) Then
    'Anzeige der Person, die heute Geburtstag hat
    MsgBox Range("B" & Zähler) & " hat heute Geburtstag"
    Else
    End If
    'Den Zähler um 1 erhöhen
    Zähler = Zähler + 1
    'Die Schleife weiter ausführen
    Loop
    'Abfrage, ob die Datei geschlossen werden soll oder nicht
    Rückmeldung = MsgBox("Wollen sie die Datei schließen?", 36, "Datei schließen")
    'Wenn die Abfrage mit Ja beantwortet wird, wird die Datei gespeichert und geschlossen
    If Rueckfrage = vbYes Then
    Me.Save
    Application.Quit
    Else
    End If
    End Sub

    Ich vermute, dass sich hier diejenigen, die sich mit VBA auskennen, vor Lachen wegschmeißen, aber ich als Anfänger auf diesem Gebiet weiß nicht weiter.
    Ich hoffe Ihr könnt mir trotz Lachanfall weiterhelfen.
    Gruß Jan

    Wer fragt, bekommt Antworten.
    Zitieren Zitieren VBA: Warum wird die Excel-Datei nicht geschlossen?  

  2. #2
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Beitrag

    Hallo,

    Zitat Zitat von Jan
    Ich vermute, dass sich hier diejenigen, die sich mit VBA auskennen, vor Lachen wegschmeißen
    Ich kenne mich mit VBA nicht aus, darum lache ich auch nicht über die Frage.
    Die Ursache für Dein Problem ist auch aus dem eingestellten Code-Fragment nicht ersichtlich, da zum Beispiel ein Objekt Me. auftaucht. Wo ist das deklariert, was für ein Objekt ist das ?

    Um Excel wirklich zu schliessen, musst Du auch alle zuvor in VBA angelegten Objekte freigeben. Ansonsten kriegst Du Excel nie vollständig geschlossen. Es bleibt immer entweder ein sichtbares Excel übrig oder zumindest ein im Taskmanager sichtbarer Prozeß.

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren Etwas mehr Code bitte  

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Zitat Zitat von Jan Beitrag anzeigen
    'Abfrage, ob die Datei geschlossen werden soll oder nicht
    Rückmeldung = MsgBox("Wollen sie die Datei schließen?", 36, "Datei schließen")
    'Wenn die Abfrage mit Ja beantwortet wird, wird die Datei gespeichert und geschlossen
    If Rueckfrage = vbYes Then
    Me.Save
    Application.Quit
    Else
    End If
    End Sub
    Wenn Du bei IF die selbe Variable auswerten würdest, die den Rückgabewert der MsgBox auffängt ...

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Jan (25.09.2010)

  5. #4
    Jan ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.01.2009
    Ort
    Niedersachsen
    Beiträge
    813
    Danke
    180
    Erhielt 79 Danke für 75 Beiträge

    Standard

    Zitat Zitat von Question_mark Beitrag anzeigen
    Hallo,



    Ich kenne mich mit VBA nicht aus, darum lache ich auch nicht über die Frage.
    Die Ursache für Dein Problem ist auch aus dem eingestellten Code-Fragment nicht ersichtlich, da zum Beispiel ein Objekt Me. auftaucht. Wo ist das deklariert, was für ein Objekt ist das ?

    Um Excel wirklich zu schliessen, musst Du auch alle zuvor in VBA angelegten Objekte freigeben. Ansonsten kriegst Du Excel nie vollständig geschlossen. Es bleibt immer entweder ein sichtbares Excel übrig oder zumindest ein im Taskmanager sichtbarer Prozeß.

    Gruß

    Question_mark
    Mein Kollege hat mir erzählt, dass ich mit "Me.Save" die Datei speichern kann und mit "Application.Quit" Excel schließen kann.

    Was meinst du mit: "Um Excel wirklich zu schliessen, musst Du auch alle zuvor in VBA angelegten Objekte freigeben."?
    Gruß Jan

    Wer fragt, bekommt Antworten.

  6. #5
    Jan ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.01.2009
    Ort
    Niedersachsen
    Beiträge
    813
    Danke
    180
    Erhielt 79 Danke für 75 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Wenn Du bei IF die selbe Variable auswerten würdest, die den Rückgabewert der MsgBox auffängt ...

    Harald
    Das ist ja so banal, da hätte ich ja schon fast selbst drauf kommen müssen.

    Danke, jetzt wird Excel geschlossen.
    Gruß Jan

    Wer fragt, bekommt Antworten.

  7. #6
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Beitrag

    Hallo,

    Zitat Zitat von Jan
    Mein Kollege hat mir erzählt, dass ich mit "Me.Save" die Datei speichern kann und mit "Application.Quit" Excel schließen kann.
    Hat Dir Dein Kollege auch erklärt, das man Me. auch in VBA anlegen und erstellen muß und von welchem Objekttyp ME. ist ???
    Ich glaube fast, Du beschäftigst Dich zum ersten mal mit VBA und Konsorten.

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren Watt issene Objekt  

  8. #7
    Jan ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.01.2009
    Ort
    Niedersachsen
    Beiträge
    813
    Danke
    180
    Erhielt 79 Danke für 75 Beiträge

    Standard

    Nein, das hat er mir nicht erklärt.

    Ja, da liegst du völlig richtig.

    Der von mir eingestellte Code, ist mein erster eigener.
    Gruß Jan

    Wer fragt, bekommt Antworten.

  9. #8
    Registriert seit
    29.03.2004
    Beiträge
    5.793
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Um solche Tippfehler zu vermeiden bzw. frühzeitig erkennung zu können schreibe ich - wenn ich denn mal zu VBA gezwungen - werde oben immer ein
    Code:
    Option Explicit
    hin.
    Das zwingt einen dazu alle Variablen vorher deklarieren zu müssen.

  10. #9
    Jan ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.01.2009
    Ort
    Niedersachsen
    Beiträge
    813
    Danke
    180
    Erhielt 79 Danke für 75 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Um solche Tippfehler zu vermeiden bzw. frühzeitig erkennung zu können schreibe ich - wenn ich denn mal zu VBA gezwungen - werde oben immer ein
    Code:
    Option Explicit
    hin.
    Das zwingt einen dazu alle Variablen vorher deklarieren zu müssen.
    Ich bin Anfänger.
    Was bedeutet vorher deklarieren?
    Wie würde das z. B. aussehen?
    Gruß Jan

    Wer fragt, bekommt Antworten.

  11. #10
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Reden


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Zitat Zitat von Thomas_v2.1
    Das zwingt einen dazu alle Variablen vorher deklarieren zu müssen.
    Diese Option sollte es in keiner Programmiersprache (Ok, VBA mit einer Programmiersprache zu vergleichen ist etwas gewagt ) geben, ein absolutes NoGo. In einer sauberen Programmiersprachen sollte jede Variable zwangsweise deklariert werden müssen. Sowas darf nicht per Option ausgeschlossen werden können. Punktum. Nur eine weitere Bestätigung für mich, diesen VAB - Schrott einfach nicht für eine ernsthafte Programmerstellung in Betracht zu ziehen. Ist wohl eher gedacht für Controller mit Brillengläsern wie Glasbausteine und einem bis zur Rente gesichertem Job in der Verwaltung.

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren VBA - Schrott  

Ähnliche Themen

  1. Excel: Libnodave.dll wird nicht gefunden
    Von mrdoc im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 04.09.2013, 14:19
  2. Antworten: 7
    Letzter Beitrag: 10.03.2011, 16:42
  3. Symbolik wird nicht komplett kopiert - warum?
    Von Buschmann im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 28.10.2010, 08:16
  4. Warum wird DB in Datensicht geöffnet?
    Von kiestumpe im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.09.2008, 13:47
  5. Antworten: 0
    Letzter Beitrag: 06.11.2006, 14:34

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •