Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
736to740
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
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

makro läuft nicht ...

makro läuft nicht ...
23.02.2006 17:09:43
Joachim
Hallo,
Level.....VBA nein
Nun habe ich herumgespielt und irgendetwas läuft nun nicht mehr.
Funktion:
Beim Start -ohne makro- soll nur das Blatt Makro-Hinweis sichtbar werden.
(alle anderen Blätter sollen ausgeblendet sein)
Beim Start -mit Makro- sollen alle Blätter sichtbar sein mit Ausnahme des Blattes -Makro-Hinweis-
Beim Schließen der Mappe sollen immer alle Blätter ausgeblendet werden und das Blatt -Makro-Hinweis- wieder auf sichtbar gesetzt werden.
------------
Hier das Makro welches in -Diese Arbeitsmappe- liegt.

Private Sub Workbook_Open()
'Alle Blätter einblenden
For Each Sh In Worksheets
If Sh.Name <> MakroBlatt Then
Sh.Visible = True
End If
Next Sh
'Infoblatt ausblenden
Sheets(MakroBlatt).Visible = xlSheetVeryHidden
ThisWorkbook.Saved = True
End Sub

_________________________________
In dfolgenden Bereich muss ja nun das -gegenteilge- erreicht werden:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Blidschirmaktualisierung aus:
Application.ScreenUpdating = False
'Infoblatt einblenden
ActiveWorkbook.Unprotect ("")
Sheets(MakroBlatt).Visible = True
'Alle anderen Blätter verstecken
For Each Sh In Worksheets
If Sh.Name <> MakroBlatt Then
Sh.Visible = xlSheetVeryHidden
End If
Next Sh
End Function

.............
..........
End Sub
_____________________________
Das soll egal wie die Datei geschlossen wird geschehen.
Wer sieht dort den Fehler?
---------------
Gruss
Joachim
---------------

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: makro läuft nicht ...
23.02.2006 17:13:06
Andi
Hi,
is MakroBlatt eine Variable, oder heisst das sheet "MakroBlatt"?
Ich vermute mal zweiteres; dann muss "MakroBlatt" aber in Anführungszeichen gesetzt werden.
Schönen Gruß,
Andi
AW: makro läuft nicht ...
23.02.2006 17:59:20
Joachim
Hallo,
nun habe ich wohl noch mehr durcheinandergebracht.
Ich lade die Mappe mal mit hoch.
https://www.herber.de/bbs/user/31369.zip
Ich hoffe es schaut noch einmal jemand nach.
es soll folgendes geschehen:
1.) Start mit Makro muss sein.
wenn Makro deaktiviert nur die Seite Makro-Hinweis anzeigen - alle anderen sind aus
Wenn Makro aktiviert. Makro-Hinweis ausgeblendet alle anderen sind sichtbar.
2.) Lizenz wird geprüft. Kann mit strg 12 eingestellt werden.
Wenn nicht OK mappe schließt mit Hinweis.
3.) Teile von jedem einzelnen Tabellenblatt wird über Makro in eine andere Mappe übertragen. Vorher Prüfung ob die andere Mappe da ist sonst Info.
4.) Die Einträge (A8:G500) sollen auf Knopfdruck gelöscht werden.
5.) Menü Einfügen deaktivieren.
6.) jede aktive Zelle ist bekommt einen gelben Hintergrund.
------------------------
Punkt 1 und 4 bekomme ich nicht hin.
---------------
Gruss
Joachim
---------------
Anzeige
AW: makro läuft nicht ...
24.02.2006 10:18:34
Joachim
Hallo Hans,
vielen Dank.
Nun kommts langsam dahin wo es hin soll.
Nur noch eine Sache, wenn ich die Datei schließe dann sehe ich noch eine
Weile das -MakroBlatt-. (Klar, weil am Ende dieses wieder auf sichtbar eingestellt wird.)
Kann man es nicht so einrichten, dass dieser Prozess, MakroBlatt auf visible einstellen, im Hintergrund läuft und beim Schließen der Datei nicht angezeigt wird?
Aletrnativ wäre noch, dass man ggf. einen Bereich des -MakroBlatts- anzeigt der keine Einträge hat, also sichtbarer Bereich unterhalb der Einträge -z.B. A100:L150- oder so.
Das heisst beim Start der Datei ohne Makro wird der Bereich A1:L50 angezeigt.
Dann wäre beim schließen der Datei zwar das MakroBlatt sichtbar, aber man sieht nur eine Weiße Fläche bezw. man könnte ja eine Message darauf bringen. --Die Mappe wird geschlossen - Vielen Dank bis zum nächsten mal-- oder so.
-----------------------------------------
Kannst du mir bitte noch sagen wie ich es anstellen muss um einer Schaltfläche eine Makro zuzuweisen.
Ich hatte dies schon mal. Nachdem ich die Schaltfläche angelegt hatte, war im Kontextmenü die Option -Makro zuweisen-. Nur dieser Punkt ist nicht mehr dabei. Wiegesagt ich lege über die Werkzeugleiste -Steuerelemente Toolbox- eine Schaltfläche an und möchte dann dieser Schaltfläche das Makro -ungesperrte Loeschen- zuweisen.
---------------
Gruss
Joachim
---------------
Anzeige
AW: makro läuft nicht ...
HansHei
Hallo Joachim,
ich denke Deine Idee ist gut, aber wohl nur theoretischer Natur. Habe aufgegeben :-( Eine Alternative wäre es, um dieses Makroblatt nicht soviel "Wind" zu machen. Mein Vorschlag bläst die Datei allerdings ein wenig auf.
https://www.herber.de/bbs/user/31393.zip
Bei Deiner Frage bezüglich Zuweisung Makro zu Steuerelement muss ich passen. Mir reichte bisher die weniger komplizierte Formular-Schaltfläche. Ist nicht so komfortabel, aber sehr zweckmäßig.
Gruß
Hans
Problem nicht gelöst, deshalb weiter offen
Anzeige
AW: makro läuft nicht ... wie ich gerne möchte...
25.02.2006 10:20:04
Joachim
Hallo Hans,
vielen Dank.
Du hast recht -der Wind- ist eigentlich nur einen Weg zu finden, ob man es lösen kann und Ideen umzusetzen.
Die Datei wird schon recht groß durch deine Änderung.
Ich lasse die Frage mal weiter offen - vielleicht gibts ja noch eine Idee.
Schön wär es ja.
Aus dem karnevalistischen Rheinland.
---------------
Gruss
Joachim
---------------
AW: makro läuft nicht ... wie ich gerne möchte...
25.02.2006 15:54:04
Joachim
HI,
nun läuft alles wie es soll.
Ich habe aber noch eine Idee - vielleicht bekommt man dies hin.
Mit dem Code:
For Each Sh In Worksheets
If Sh.Name MakroBlatt Then
Sh.Visible = xlSheetVeryHidden
End If
Next Sh
werden alle Blätter ausgeblendet mit Ausnahme des Blattes -MakroBlatt-
Dieses wird mit dem Code:
Sheets(MakroBlatt).Visible = True
sichtbar eingestellt.
Ist es möglich bei der Anzeige einen bestimmten Bereich sichtbar zu machen?
Also z.B. A50:L100
---------------
Gruss
Joachim
---------------
Anzeige
AW: makro läuft nicht ... wie ich gerne möchte...
25.02.2006 17:15:54
HansHei
Hallo Joachim,
das was Du Dir vorstellst lässt sich sicher realisieren. Die Sache hat aber einen Haken. Mit dem dann geänderten Code wird ja Deine Datei geschlossen. Und der nächste Aufruf ohne Makro wird den neuen Bereich zeigen. Das willst Du sicher nicht.
Gruß
Hans
AW: makro läuft nicht ... wie ich gerne möchte...
25.02.2006 17:26:03
Joachim
Hallo Hans,
ja das ist mir schon klar, wenn mann es einfach nur so macht, dass die letzte Aktion den Zustand für das Öffnen ohne Makro einstellt.
Ist es nicht möglich, dass beim Starten immer der Anfang der Tabelle gezeigt wird?
Beim Schliessen der Datei gibt der Code ja dann eine Position an, die beim öffnen der Datei -da ja kein Makro aktiv- dann nicht bekannt ist.
Denke ich hier falsch?
---------------
Gruss
Joachim
---------------
Anzeige
AW: makro läuft nicht ... wie ich gerne möchte...
HansH
Hallo Joachim,
Du kannst natürlich unter WorkbookOpen einen anderen Tabellenbereich der Makro-Hinweis-Tabelle einstellen und als letzte Aktion unter Workbook_BeforeClose den alten Zustand wiederherstellen. Dann hast Du wenn alles optimal läuft beim Schließen der Datei kurz einen freien Bereich, aber beim Schließen der Datei wirst Du dennoch erst einen freien Bereich und dann doch kurz den Makro-Hinweis sehen. Ich hatte das schon mal so eingestellt und diesen Effekt bemerkt.
Falls ich jetzt doch falsch denke: offen
Gruß
Hans
AW: makro läuft nicht ... wie ich gerne möchte...
25.02.2006 18:13:21
Joachim
Hallo Hans,
nun habe ich dich wohl verwirrt.
Bei Workbook open wird mir das Blatt Makro ja garnicht angezeigt.
und
Wenn ich die Mappe ohne Makros starte gibt es doch garkeinen definierten Bereich - oder?
Heisst doch - nach meinem Verständnis - wenn ich beim Schließen (mit Makros) den Bereich angebe, wird mir dieser Bereich beim Öffnen (ohne Makros) doch nicht angezeigt, (mit Makros) wird doch beim Öffnen das Blatt als erstes völlig ausgeblendet und die anderen eingeblendet.
Oder?
---------------
Gruss
Joachim
---------------
Anzeige
AW: makro läuft nicht ... wie ich gerne möchte...
HansHei
Hallo Joachim,
wenn Du die Datei ohne Makros startest, wird immer DIE Ansicht gezeigt, die Du beim Schließen mit Makro hinterlässt. Hinterlässt Du unter Workbook_BeforeClose als letzte Anweisung z.B. den Bereich A50:L200 in deiner Makrotabelle, so wirst du dies beim nächsten Start der Datei ohne Makroaktivierung sehen. Soweit der Bildschirm reicht :-)
Teste das mal an einer Sicherungsdatei.
Gruß
Hans
AW: makro läuft nicht ... wie ich gerne möchte...
25.02.2006 19:16:16
Joachim
Hi,
also ich werde es mal ausprobieren.
Kannst du mir bitte sagen wie der Code ist um den betreffenden Tabellenbereich zu definieren.
Ich gebe dir hier den Code der das Makroblatt sichtbar macht und die anderen ausblendet.
Ich brauche also die Syntax für den Tabellenbereich.
---------------------------------
Sheets(MakroBlatt).Visible = True
'Alle anderen Blätter verstecken
For Each Sh In Worksheets
If Sh.Name MakroBlatt Then
Sh.Visible = xlSheetVeryHidden
---------------
Gruss
Joachim
---------------
Anzeige
AW: makro läuft nicht ... wie ich gerne möchte...
25.02.2006 19:48:47
HansHei
Hallo Joachim,
ich habe mal eine Testdatei angehängt in der in etwa das abgebildet ist, was Du bisher in Deinem Original verwendest. Sie funktioniert wenn unverändert mit und ohne Makroaktivierung. Teste das erst mal ohne Änderungen.
Im Code sind 2 Zeilen in "Workbook_BeforeClose" die Du durch weglassen des Hochkommas aktivieren kannst. In diesem Falle veränderst Du den Bereich der Ansicht in der Tabelle beim Schließen. Das wirkt sich beim Öffnen der Datei ohne Makroaktivierung aus.
Bezüglich Syntax fällt mir erst mal nur folgendes ein:
ActiveWindow.SmallScroll Down:=49
im "BeforeClose"-Code, nach "Anwahl" der entsprechenden Tabelle (im Code).
Hier die Testdatei:
https://www.herber.de/bbs/user/31421.xls
Gruß
Hans
Anzeige
AW: makro läuft nicht ... wie ich gerne möchte...
26.02.2006 11:47:58
Joachim
Hallo Hans,
vielen Dank.
Habe deine Testdatei mal ausprobiert - so richtig läufts noch nicht.
Ich glaube ich habe schon einen Grund gefunden, warum das -MakroBlatt- so lange zu sehen ist.
Diese Mappe braucht durch ihre Größe (1,2 MB) ziemlich lange beim Laden und beim Schließen.
In den einzelnen Blättern sind sehr aufwändige und große Formeln. Sverweis und so...
Wenn nun die Datei geschlossen wird braucht es ziemlich lange bis es soweit ist.
Und deshalb ist das (letzte Blatt) MakroBlatt so lange zu sehen.
Kann man im Bereich -BeforeClose- Code einsetzen der verhindert, dass die ganze Mappe und die Codes durchgerechnet werden.
Das gleiche ist auch wenn ich die Mappe ohne Makro gestartet wird.
Ich glaube auch hier wird erst die gesamte Mappe durchgerechnet und das dauert eben.
Kann man bei -WorkBookOpen- bezw. beim Start von Excel (wenn ohne Makro)auch etwas angeben was verhindert, das alles durcgerechnet wird bevor die Mappe vollständig geöffnet ist?
Vielleicht gibt es Startparameter die ich beim Starten der Mappe angänge?
---------------
Gruss
Joachim
---------------
Anzeige
AW: makro läuft nicht ... wie ich gerne möchte...
HansHei
Hallo Joachim,
wegen des langen Startvorganges hast Du ja schon einen neuen Thread. Vielleicht weiss da jemand mehr. Bezüglich "Tabellenbereich ab A50 beim schließen" habe ich dir ein Beispiel anhand einer Deiner Dateien hochgeladen. Mehr ist da wohl beim besten Willen nicht drin.
https://www.herber.de/bbs/user/31432.zip
Gruß
Hans
makro läuft fast... wie ich gerne möchte... :-))
26.02.2006 17:52:32
Joachim
Hallo Hans,
nu bin ich aber -PLATT- wie man im Rheinland zu sagen pflegt.
SUUUUUUPER....
Du hast das Problem top gelöst - es klappt.
Nun werde ich einen -Abschiedstext- einbauen vielen dank die Daten werden gespeichert oder so...
Aber das Beste (2tbeste) wie auch immer. nun speichert er nicht mehr so lange.
Alles läuft VIEEEL schneller.
Ich habe bzgl. des langsamen speicherns einen sep. Thread aufgemacht.
Aber selbst, wenn da nicht noch etwas besonderes gefunden werden sollte. So wie es jetzt ist kann man absolut damit leben.
Allerbesten Dank. Und auch ein HELAU -sagt man in Düsseldorf noch für die nächsten 2 Tage.
---------------
Gruss
Joachim
---------------
AW: Danke fürs Feedback und Helau! o.T.
HansHei
AW: makro läuft nicht ... Punkt 4 nun auch OK!!
25.02.2006 14:27:40
Joachim
Hi,
nun habe ich es ganz anders angegangen.
---------------------------------

Private Sub CommandButton2_Click()
Range("A8:G1000").Select
Selection.ClearContents
Range("A8").Select
End Sub

----------------------------------
Button auf jedes Blatt gesetzt - den Code dahinein - läuft und zudem auch noch sehr schnell.
-----------------------------------
Nun fehlt nur der Komfort beim Schließen der Mappe (Unsichtbarkeit des MakroBlattes als letzte Anzeige)
---------------
Gruss
Joachim
---------------

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige