Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  VBA Blattwechsel unterbrechen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  VBA Blattwechsel unterbrechen (3826 mal gelesen)
MWN
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von MWN an!   Senden Sie eine Private Message an MWN  Schreiben Sie einen Gästebucheintrag für MWN

Beiträge: 492
Registriert: 14.02.2007

erstellt am: 27. Jun. 2008 07:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen Kollegen im Excel - Forum,

heut möchte ich einmal eure geschätzte Hilfe in Anspruch nehmen.
Ich bin dabei, mir ein Excel - Workbook zu basteln, was mehrere Tabellenblätter (40 an der Zahl) enthält. Da man meist sehr weit scrollen muss, um wieder an die "Startseite" zu gelangen, habe ich mir auch eine Sub geschrieben, die mir auf das soeben selektierte Tabellenblatt einen Button setzt, diesen anwählt und ihm ein Makro gibt, mit dessen Hilfe ich zur Startseite gelange. Das funktioniert auch soweit, nur ist mein Problem nun, dass ich den Commandbutton auch wieder löschen muss!
Kennt also jemand eine Lösung, wie ich das bewerkstelligen kann? Ich dachte so daran, dass ganze beim Blattwechsel durchführen zu lassen. Sprich den Blattwechsel, wenn man ihn von Hand ausführt, zu unterbrechen, den Commandbutton zu löschen und dann erst das neue Blatt anzuzeigen.
Ich bin über jede Hilfe dankbar.
Grüße

Tobias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 27. Jun. 2008 08:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MWN 10 Unities + Antwort hilfreich

Moin,
muß es denn ein button sein? Oder darf es auch z.B. ein Hyperlink sein?
Dann könnte ich mir das so vorstellen:

in die Tabellenblätter 2-40:

Code:
Private Sub Worksheet_Activate()
      ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Cells(1, 1), Address:="", SubAddress:= _
        ThisWorkbook.Worksheets(1).Name & "!A1", TextToDisplay:=ThisWorkbook.Worksheets(1).Name
End Sub

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Cells(1, 1).ClearContents
End Sub


Zellen sind natürlich wie immer anzupassen, derzeit wird der hyperlink in Zelle A1 des jeweiligen Blattes geschrieben.


------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MWN
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von MWN an!   Senden Sie eine Private Message an MWN  Schreiben Sie einen Gästebucheintrag für MWN

Beiträge: 492
Registriert: 14.02.2007

erstellt am: 27. Jun. 2008 08:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen Runkelrübe,

danke erst einmal für die schnelle Antwort.
Mit dem Link hatte ich mich schon beholfen, nur kam von einem einzigen Anwender der Einwand "Na das sieht man ja nicht richtig" - alle anderen machten mit und nun muss das ganze umgestrickt werden. Na ja...
Ich habe es ja auch soweit, dass der Button gesetzt wird, wenn der Anwender das Tabellenblatt wechselt. Klickt der Anwender auf den Button, so löscht er sich selber und wechselt die Ansicht auf das Starttabellenblatt ("Startseite").
Wechselt der Anwender jedoch das Tabellenblatt per Hand, so löscht sich der Button nicht und bleibt leider erhalten.
Und das ist es, was ich nicht möchte. Deshalb will ich den Blattwechsel unterbrechen, den Button entfernen lassen und dann auf das andere Blatt wechseln.
Sofern das machbar ist, natürlich!
Grüße

Tobias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 27. Jun. 2008 09:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MWN 10 Unities + Antwort hilfreich

Sorry, mir fehlt ca. ein Hektoliter Kaffee heute Morgen, ich kann's nur in umständlich, bzw radikal:

Code:
Sub Wechsel()
Dim a%, b%
For a = 1 To ThisWorkbook.Worksheets.Count
    For b = 1 To Sheets(a).Shapes.Count
    If ThisWorkbook.Sheets(a).Shapes(b).Name Like "CommandButton*" Then
        ThisWorkbook.Sheets(a).Shapes(b).Delete
    End If
    Next b
Next a
End Sub

und in die einzelnen Blätter:

Code:
Private Sub Worksheet_Activate()
    Call Wechsel
End Sub

löschte alle CommandButtons in der Arbeitsmappe.

hth

[rredit] ach ja: "nur kam von einem einzigen Anwender der Einwand "Na das sieht man ja nicht richtig" " -> dann mach es groß und rot und schenk ihm ne Brille     [/rredit]

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MWN
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von MWN an!   Senden Sie eine Private Message an MWN  Schreiben Sie einen Gästebucheintrag für MWN

Beiträge: 492
Registriert: 14.02.2007

erstellt am: 27. Jun. 2008 09:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Dann sollte ich dich wohl eher statt 10 U's 10 Pott Kaffee vorbeischicken? 
Deinen Codeschnipsel habe ich gerade ausprobiert und erfunktioniert auch einwandfrei, er hat nur einen entscheideneden Nachteil: er löscht mir auch die zwei Buttons auf meiner Startseite! Und das geht ja schon mal gar nicht!
Gibt es denn wirklich gar keine Möglichkeit den Balttwechsel zu unterbrechen, den Code auszuführen und dann weiterzumachen?
Das wär doch so einfach: auf anderes Tabellenblatt klicken, wechsel wird angehalten bzw. nicht ausgeführt, Code (activesheet.buttons.delete) wird ausgeführt, angeklicktes Tabellenblatt wird angezeigt.
Ist doch ganze einfach, oder? 
Grüße und nochmals Danke

Tobias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 27. Jun. 2008 10:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MWN 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MWN:
Dann sollte ich dich wohl eher statt 10 U's 10 Pott Kaffee vorbeischicken?  ;)
Deinen Codeschnipsel habe ich gerade ausprobiert und erfunktioniert auch einwandfrei, er hat nur einen entscheideneden Nachteil: er löscht mir auch die zwei Buttons auf meiner Startseite! Und das geht ja schon mal gar nicht!

Das mit dem kaffee wär mal was Neues und sinnvoll noch dazu 

Wenn das das einzige Prob daran ist: Laß die Schleife von 2 starten ;-) oder klammer das Startblatt via Abfrage if sheets(a).name <> "NamedesStartBlatts" aus.

Aber Du hast ja Recht, es hört sich soo einfach an... vielleicht kommt ja noch wer mit Ahnung vorbei 

sorry, ich bin erstmal raus, wenn mir wider Erwarten noch was einfällt, melde ich mich.

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MWN
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von MWN an!   Senden Sie eine Private Message an MWN  Schreiben Sie einen Gästebucheintrag für MWN

Beiträge: 492
Registriert: 14.02.2007

erstellt am: 27. Jun. 2008 10:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hey stimmt,

hätt ich eigentlich auch drauf kommen müssen!
Es ist Freitag - schon fast Wochenende...
Danke nochmal für die Hilfe!
Grüße

Tobias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hofe
Mitglied
Werkzeugmacher


Sehen Sie sich das Profil von Hofe an!   Senden Sie eine Private Message an Hofe  Schreiben Sie einen Gästebucheintrag für Hofe

Beiträge: 439
Registriert: 12.01.2008

Computer: Aldi
Schreibtisch: Ikea
Werkbank: Baumarkt
Software:
1967-2021, viele Updates und SP's, aber sicher nicht alle, deswegen immer wieder Sicherheitslücken

erstellt am: 28. Jun. 2008 12:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MWN 10 Unities + Antwort hilfreich

Hallo Ihr zwei!

Geniale Sache.
Freche Frage: Tobias, würdest Du den Code zur Erstellung des Buttons rausrücken? 

Grüße

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MWN
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von MWN an!   Senden Sie eine Private Message an MWN  Schreiben Sie einen Gästebucheintrag für MWN

Beiträge: 492
Registriert: 14.02.2007

erstellt am: 30. Jun. 2008 07:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen Hofe,

klar, kein Problem, schließlich sind wir ja zum Wissenstausch hier! 
In einem eigenen Modul hab ich folgendes:

Code:
Private Sub Button_Hinzufuegen()
Dim MyButton As Button
Set MyButton = ActiveSheet.Buttons.Add(411.75, 15.75, 132.75, 24)
With MyButton
    .OnAction = "Startseite_Anzeigen"
    .Caption = "zurück zur Startseite"
End With
End Sub

Und damit das ganze noch seinen Dienst versieht, habe ich in der obersten Arbeitsmappe, genannt "Diese Arbeitsmappe", folgendes:

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  If ActiveSheet.Name <> "Startseite" Then
        If ActiveSheet.Buttons.Count >= 1 Then
            ActiveSheet.Buttons.Delete
        End If
        Application.OnTime Now + TimeValue("00:00:01"), "Button_Hinzufuegen"
    End If
End Sub

Viel Spass beim ausprobieren!
Grüße

Tobias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hofe
Mitglied
Werkzeugmacher


Sehen Sie sich das Profil von Hofe an!   Senden Sie eine Private Message an Hofe  Schreiben Sie einen Gästebucheintrag für Hofe

Beiträge: 439
Registriert: 12.01.2008

Computer: Aldi
Schreibtisch: Ikea
Werkbank: Baumarkt
Software:
1967-2021, viele Updates und SP's, aber sicher nicht alle, deswegen immer wieder Sicherheitslücken

erstellt am: 30. Jun. 2008 12:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MWN 10 Unities + Antwort hilfreich

Mahlzeit!

Prima Grundstein, das läßt sich bestens anpassen.

Vielen Dank!

Grüße, Hofe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MWN
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von MWN an!   Senden Sie eine Private Message an MWN  Schreiben Sie einen Gästebucheintrag für MWN

Beiträge: 492
Registriert: 14.02.2007

erstellt am: 30. Jun. 2008 12:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Hofe,

verätst du uns vielleicht auch, in welche Richtung dein Projekt geht, bzw. für was du den Codeschnipsel verwenden möchtest?
Vielleicht hilft es uns ja auch weiter!
Grüße

Tobias

[Diese Nachricht wurde von MWN am 30. Jun. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hofe
Mitglied
Werkzeugmacher


Sehen Sie sich das Profil von Hofe an!   Senden Sie eine Private Message an Hofe  Schreiben Sie einen Gästebucheintrag für Hofe

Beiträge: 439
Registriert: 12.01.2008

Computer: Aldi
Schreibtisch: Ikea
Werkbank: Baumarkt
Software:
1967-2021, viele Updates und SP's, aber sicher nicht alle, deswegen immer wieder Sicherheitslücken

erstellt am: 24. Jul. 2008 11:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MWN 10 Unities + Antwort hilfreich

Hallo Tobias,

sorry, ich habe eben erst bemerkt, dass Du nochmal gepostet hast.
Ich benutze einen recht großen Button in einem Tabellenblatt, in dem außer dem Button nichts zu sehen ist, der Button dient dazu, eine Userform mit Menü anzuzeigen.
Wird in diesem Menü etwas ausgewählt, verschwindet die Userform wieder und irgendeine Aktion wird ausgeführt.
Da die bei den Aktionen angezeigten Userforms, Msg-Boxen oder Inputboxen den großen Button nicht immer verdecken, blende ich ihn mit ".visible=False" aus.
Das funktioniert aber nicht immer zuverlässig, unabhängig davon, ob ScreenUpdating auf True oder auf False steht.

Deswegen wollte ich versuchen, den Button nach Benutzung ganz zu löschen und bei Bedarf wieder neu zu erstellen.
Ich hab mir die Zeit dafür aber noch nicht genommen, da das Projekt ständig wächst und es in meinem Fall mit dem Button ja nur um Optik geht, da sind andere Dinge eben wichtiger 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz