Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Änderung für alle Tabellenblätter übernehmen | Herbers Excel-Forum

Forumthread: Änderung für alle Tabellenblätter übernehmen

Änderung für alle Tabellenblätter übernehmen
14.01.2010 09:11:14
Thomas

Hallo liebe VBAler
Ich hab eine Excel Datei mit 12 Tabellenblätter (Januar-Dezember).
Ände ich nun z.B. im Tabellenblatt Januar in Spalte A und B etwas, oder füge/lösche eine Zeile ein, dann soll er dies für alle anderen Tabellenblätter übernehmen.
Bis jetzt habe ich dies über Worksheet_SelectionChange gemacht.
Dort frag ich mit target.row und target.column ab in welcher Spalte ich bin. Ist A oder B, dann selektiert er alle Tabellenblätter und wenn ich dann was ändere, dann übernimmt er dies für alle Blätter.
ALLERDINGS, hab ich in den Tabellenblätter auch Worksheet_BeforeDoubleclick, Activate und Deactivate.
Irgendwie scheint dies zusammen aber Probleme zu machen (meine Vermutung).
Wenn ich zum ersten mal in Spalte A oder B klicke dann selektiert er alle Blätter. Klick ich dann in Spalte C und nochmal in Spalte A oder B dann macht er nichts mehr.
Meine Frage ist nun, ob ich die Änderungen für alle Tabellenblätter auch ohne Selection_Change machen kann. Gibt es hierfür auch andere Ansätze. Hab auch schon gegoogle aber immer nur auf selection_change gestossen.
Vielleicht, bzw. ich hoffe, jemand kennt eine Alternative.
Schon mal besten Dank im voraus.
gruß
Thomas

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Änderung für alle Tabellenblätter übernehmen
14.01.2010 09:29:58
Hajo_Zi
Hallo Thomas,
benutze das Change Ereignis das wird ausgelöst nach einer Änderung.

AW: Änderung für alle Tabellenblätter übernehmen
14.01.2010 10:37:20
fcs
Hallo Thomas,
da muss man die Ereignismakros zeitweise deaktivieren und den Status der Gruppierung und ggf. auch das zum Zeitpunkt der Gruppierung aktive Blatt in Globalen Variablen merken und prüfen.
Schaut dann Code-mäßig etwa wie folgt aus.
Gruß
Franz
Option Explicit
'Beispielcode in allen Tabellenblättern
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <= 2 And Target.Row > 1 And bolGrouped = False Then 'Spalte A oder B gewählt
'Alle Blätter Gruppieren
Application.EnableEvents = False
ActiveWorkbook.Sheets.Select
Application.EnableEvents = True
Set wksAktiv = Me
bolGrouped = True
ElseIf Target.Row = 1 Then
'Gruppierung aufheben bei Klick in Zelle in Zeile 1
Application.EnableEvents = False
If Not wksAktiv Is Nothing Then wksAktiv.Select
bolGrouped = False: Set wksAktiv = Nothing 'Zurückseten der Gruppierungsmerker
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_Activate()
MsgBox Me.Name & " ist aktiv"
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox Me.Name & " - Doppelklick Zelle " & Target.Address
End Sub
Private Sub Worksheet_Deactivate()
'Zurückseten der Gruppierungsmerker, wenn Gruppierung durch Wahl eines anderen _
Tabellenblatts aufgehoben wird
bolGrouped = False: Set wksAktiv = Nothing
MsgBox Me.Name & " wurde deaktiviert"
End Sub
'Code/Variablendeklaration in einem allgemeinen Modul
Option Explicit
Public bolGrouped As Boolean 'Merker für Gruppierungs-Status
Public wksAktiv As Worksheet 'Merker für das zum Zeitpunkt Gruppierung aktive Blatt

Anzeige
AW: Änderung für alle Tabellenblätter übernehmen
14.01.2010 11:40:38
Thomas
Danke schonmal. Werd das nach dem Mittagessen testen.
Vielen Dank euch beiden !
gruß
Thomas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige