Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1356to1360
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
Inhaltsverzeichnis

Code starten bei bestimmten Blättern

Code starten bei bestimmten Blättern
13.04.2014 10:40:16
WalterK
Hallo,
folgendes Problem versuchte ich zu recherchieren:
Ich habe einen Code der immer dann starten soll wenn ich das Blatt öffne. Funktioniert auch, wenn ich den Code in die betreffenden Blätter kopiere.
Gibt es eine Möglichkeit, dass ich den Code nur 1 Mal in Diese Arbeitsmappe oder in ein allgemeines Modul kopiere ich und dann dort in einem Array definiere bei welchen Blättern er beim Öffnen den Code ausführen soll? Der Code soll also nur bei dem Blatt laufen das gerade geöffnet wird, es betrifft auch nicht alle Blätter in der Mappe.
Besten Dank für die Hilfe und Servus, Walter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code starten bei bestimmten Blättern
13.04.2014 10:42:23
Hajo_Zi
Hallo Walter,
benutzer unter DieseArbeitsmnappe
Private Sub Workbook_SheetActivate(ByVal Sh As Object)

aber dann...
13.04.2014 11:43:34
Oberschlumpf
...wird der Code doch bei jedem Blattwechsel ausgeführt, wenn im Code selbst keine "Blattauswahlkontrolle" eingebaut ist.
Das hättest du Walter, mit nur "VBA nur mit Recorder"-Kenntnissen auch verraten müssen.
Hi HaJo
Ein Code, z Bsp
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
MsgBox "Dieser Code wird bei Blattwechsel ausgeführt"
End Sub

macht keinen Unterschied, ob gerade Tabelle1 oder Tabelle3 oder welche Tabelle auch immer ausgewählt ist, der Code zeigt immer die MessageBox.
Hi Walter
versuch es mal so:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = "Tabelle1" Or _
ActiveSheet.Name = "Tabelle3" Then Exit Sub
'ab hier jetzt dein Code
End Sub

In einer Standard-Datei, die die Tabellen1-3 enthält, würde dein Code nur dann ausgeführt werden, wenn Tabelle2 ausgewählt ist, da bei Auswahl von Tabelle1 oder Tabelle3 = Exit Sub = Codeabbruch.
Wenn in deiner Datei die Tabellen anders heißen, als eben die Standardnamen, dann musst du den Code natürlich anpassen.
Und wenn es mehr als 2 Tabellen betrifft, bei denen der Code nicht ausgeführt werden soll, dann musst du die If-Zeile mit weiteren Or-Einträgen erweitern.
Hilfts?
Ciao
Thorsten

Anzeige
AW: aber dann...
13.04.2014 11:45:14
Oberschlumpf
Hi Walter
nimm die Idee von Gerd. Die Select Case Anweisung ist strukturierter als mit If zu arbeiten.
Ciao
Thorsten

AW: Code starten bei bestimmten Blättern
13.04.2014 11:37:43
Gerd
Servus Walter!
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Select Case Sh.Name
Case "Tabelle1", "Tabelle3"
Call makro1
End Select
End Sub
Sub makro1()
MsgBox "Ping"
End Sub
Gruß Gerd

AW: Code starten bei bestimmten Blättern
13.04.2014 12:45:18
WalterK
Hallo Helfer,
besten Dank, die Makros von Gerd und Thorsten entsprechen genau dem was ich gesucht habe.
Schönen Sonntag noch und Servus Walter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige