ich möchte in allen Arbeitsblätter der Datei die Tastenkombination STRG + POS1 ausführen.
Wie mache ich das per VBA?
Vielen Dank im Voraus.
Liebe Grüße,
Selma
Private Sub CommandButton1_Click()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
Application.Goto Reference:=wks.Range("A1")
Next
End Sub
Viele Grüße
Herby
Private Sub CommandButton1_Click()
Dim wks As Worksheet
Application.ScreenUpdating = False
For Each wks In ActiveWorkbook.Worksheets
wks.Activate
wks.Range("A1").Activate
Next
Application.ScreenUpdating = True
End Sub
Viele Grüße
Herby
Option Explicit
Private Sub CommandButton1_Click()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
Application.Goto Reference:=wks.Range("A1")
Next
End Sub
Code in ein Modul 'wenn Formular Button
Option Explicit
Sub Schaltfläche1_BeiKlick()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
Application.Goto Reference:=wks.Range("A1")
Next
End Sub
Willst Du immer beim Wechsel in ein Tabellenblatt nach A1 siehe Beitrag von Hajo.
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.Goto Reference:=Range("A1")
End Sub
Aber Achtung! das geht nur wenn es sich ausschliesslich um Tabellenblätter handelt.
Ist ein Diagramm dabei, so musst Du erst Abfragen, ob das Blatt ein Sheet oder ein Worksheet ist.
Sonst hängt sich der Code auf.
Option Explicit
Private Sub Workbook_Activate()
Application.Goto Reference:=Range("A1")
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.Goto Reference:=Range("A1")
End Sub
Private Sub CommandButton1_Click()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
if wks.visible = -1 then Application.Goto Reference:=wks.Range("A1")
Next
End Sub
Gruß, Daniel
Um die Tastenkombination STRG + POS1 über VBA auszuführen, kannst du das folgende Makro verwenden. Es aktiviert die Zelle A1 in jedem Arbeitsblatt deiner Excel-Datei.
ALT + F11
, um den VBA-Editor zu öffnen.Sub GeheZuA1()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
wks.Activate
wks.Range("A1").Activate
Next
End Sub
Sub GeheZuA1()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If wks.Visible = xlSheetVisible Then
wks.Activate
wks.Range("A1").Activate
End If
Next
End Sub
Worksheet
ist, bevor du es aktivierst.Es gibt verschiedene Möglichkeiten, die Tastenkombination POS1 zu simulieren:
Private Sub Workbook_Activate()
Application.Goto Reference:=Range("A1")
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.Goto Reference:=Range("A1")
End Sub
Hier sind einige Beispiele, wie du die POS1-Taste mithilfe von VBA effektiv nutzen kannst:
Private Sub CommandButton1_Click()
Call GeheZuA1
End Sub
ThisWorkbook
-Objekt ein, um automatisch zur Zelle A1 zu wechseln, wenn du zwischen den Blättern wechselst.Verwende Application.ScreenUpdating: Um das Flackern des Bildschirms zu reduzieren, setze Application.ScreenUpdating = False
am Anfang deines Codes und aktiviere es am Ende wieder.
Vermeide Fehler durch Sichtbarkeit: Überprüfe immer die Sichtbarkeit von Blättern, bevor du sie aktivierst, um Laufzeitfehler zu vermeiden.
Nutze die TypeName-Funktion: Um sicherzustellen, dass du nur mit Worksheets
arbeitest, kannst du die TypeName-Funktion verwenden, um den Typ des Blattes zu überprüfen.
1. Warum bleibt das Makro hängen? Das Makro kann hängen bleiben, wenn du ausgeblendete Blätter in deiner Arbeitsmappe hast. Überprüfe die Sichtbarkeit der Blätter, bevor du versuchst, sie zu aktivieren.
2. Wie kann ich das Makro anpassen, um nur bestimmte Blätter zu aktivieren?
Du kannst eine Bedingung hinzufügen, um nur bestimmte Blätter zu aktivieren, indem du die If
-Anweisung verwendest, um die Sichtbarkeit oder den Namen des Blattes zu überprüfen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen