Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1512to1516
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

Daten automatisch auf mehrere Tabellenbläter

Daten automatisch auf mehrere Tabellenbläter
13.09.2016 22:34:55
Flip086
Hallo an alle VBA-Profis
Ich habe folgendes Problem ich habe eine Arbeitsmappe mit mehreren Tabellenblättern die sich bis auf zwei Spalten immer unterscheiden.
In den beiden Spalten welche nebeneinander liegen (AK4:AL4) stehen auf der einen Seite Kürzel und rechts die dazugehörige Erklärung.
Diese beiden Spalten werden stetig erweitert und es ist nach unten kein Ende in Sicht. Die sich daran befindlichen Daten benötige ich aber immer in allen Tabellenblättern und mein Wunsch Szenario wäre jetzt so das es egal ist in welches Tabellenblatt die Daten erweitere sie Automatisch in allen anderen Blättern erscheinen inklusive färbige hinterlegter Formatierung. Es ist noch dazu zu sagen das auch immer wieder neue Tabellenblätter hinzukommen da wäre es natürlich der Wahnsinn wenn sich die Funktion automatisch auf die neuen Tabellenblätter aktualisiert und auswirkt.
Ich hoffe es ist halbwegs verständlich erklärt und ihr könnt mir weiterhelfen da ich seit Tagen im Netz nicht fündig werde.
Vielen Dank
mfg Flip

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

Betreff
Datum
Anwender
Anzeige
AW: Daten automatisch auf mehrere Tabellenbläter
14.09.2016 06:00:50
fcs
Hallo Flip,
das sollte grundsätzlich möglich sein. Das Change-Ereignis kann man für die beiden relevanten Spalten kann man auswerten.
Ich hab aber noch einpaar Fragen:
1. Gibt es in der Arbeitsmappe Tabellenblätter, die nicht automatisch angepasst werden sollen?
2. Kommt jedes Kürzel nur einmal je Tabellenblatt vor?
3. Ist die Sortierung in der Spalte mit dem Kürzel in allen Blättern identisch? Oder soll unterschiedlich sortiert werden können?
4. Kann es vorkommen, dass die Erläuterung sich ändert und in allen Blättern angepasst werden musst?
Könntest du eine anonymisierte Beispiel-Datei hochladen mit 2 Tabellenblättern und ein paar Datenzeilen je Tabellenblatt. Dann musst das zum Helfen nicht erst gebut werden.
Gruß
Franz
Anzeige
AW: Daten automatisch auf mehrere Tabellenbläter
14.09.2016 13:58:02
Flip086
Hallo Franz
Erstmals Danke das du mir versuchst zu helfen.
Also folgendermaßen sieht es aus:
Im Allgemeinen ist die Datei ein Dynamischer Kalender der sich anhand vom Ostersonntag für das jeweilige Kalenderjahr erstellt.
Die einzelnen Tabellenblätter sind Einteilungen von diversen Personen rechts daneben stehen eben immer diese Kürzel/Bezeichnungen mit einzelnen Kursen welche ich immer von rechts in den Kalender Kopiere.
Welche sich aber immer wieder ändern und ich Formatierungen (verbundene Zellen, Farben usw.) löschen oder ändern muss.
1: Ja die ersten Blätter sind Übersichtstabellen und sollen nicht geändert werden. Am Anfang wollte ich die Kurse immer in ein Übersichtsblatt schreiben und immer wenn ich Sie dort ändere werden sie automatisch in alle Blättern übernommen (in der Test Datei heißt das Blatt "Kurse Übersicht) allerdings wird das zu mühsam da ich mittlerweile bei 16 Blättern bin jetzt müsste ich immer zurückspringen und dort die Werte eintrage deshalb wäre es interessant wenn es egal wäre in welchem Blatt ich etwas hinzufüge und es einfach überall dann drinnen steht egal wie lange die liste wird. Was zufolge haben kann das man eventuell das Blatt "Kurse Übersicht" löschen könnte besser wäre allerdings es würde sich dort auch aktualisieren und ändern allerdings stehen die Daten nicht in den selben Zellen.
Das Tabellenblatt Vorlage Blätter wird nur zum Kopieren verwendet wenn ich neue Blätter mit leeren Inhalten brauche.
2: Ja jedes Kürzel kommt nur einmal in der jeweiligen Spalte vor aber immer gleich in jedem Blatt
3: Nein die Sortierung soll immer genau ident sein (optimal bei Änderung auch in allen blättern)
4: Ja das kann schonmal vorkommen oder das sogar eine kompletter Kurs gelöscht werden.
So ich hoffe das war nicht zu viel jetzt
Ich hoffe die Test Datei hilft ein wenig zur Verständlichkeit
https://www.herber.de/bbs/user/108174.xlsm
Vielen Dank.
Anzeige
AW: Daten automatisch auf mehrere Tabellenbläter
14.09.2016 18:27:13
Flip
Bin noch immer verzweifelt am suchen und bitte um eure Hilfe.
Vielen Dank
AW: Daten automatisch auf mehrere Tabellenbläter
15.09.2016 03:07:14
fcs
Hallo Flip,
nach etwas experimentieren zeigte sich, dass es am "einfachsten" funktioniert, wenn man bei Änderungen jeweils die kompletten Kursliste in die anderen Blätter kopiert, dabei aber jeweils vorher die vorhandenen Daten löscht.
Das Makro reagiert nicht auf Änderungen von Formatierungen.
Wenn du nur Formatierungen änderst, dann musst du anschließend noch eine Zelle im Listenbereich ändern (z.B. Taste F2 oder Doppelklick in Zelle und dann ENTER), um auch die Formatierungen in die anderen Blätter zu übertragen.
Änderungen an den Daten der Kurs können jetzt nicht mehr rückgägig gemacht werden. Vor umfangreichen änderungen an der Kursliste also immer erst die Datei speichern/sihern!
Gruß
Franz
'Ereignismakro im VBA-Editor der Datei unter "DieseArbeitsmappe" einfügen
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Zeile As Long, Spalte As Long, Zeile_L As Long
Dim Zeile_T As Long, Spalte_T1 As Long, Spalte_T2 As Long
Dim rngCopy As Range
Dim bolCopy As Boolean
Dim wks As Worksheet
Dim StatusCalc As Long
'Blatt prüfen, in dem geändert wurde
Select Case Sh.Name
Case "Feiertage", "Tab XYZ"
'aus diesen Blättern keine Änderungen in die anderen Blätter übertragen
Case Else
'Initialwerte von Variablen setzen
bolCopy = False
Set rngCopy = Nothing
'1. Zeile und 1. Spalte des geänderten Zellbereichs merken
Zeile = Target.Row
Spalte = Target.Column
'Vergleichswerte für die relevanten Zellbereiche setzen
Select Case Sh.Name
Case "Kurse Übersicht"
Zeile_T = 5
Spalte_T1 = 1
Spalte_T2 = 2
Case Else
Zeile_T = 5
Spalte_T1 = 37
Spalte_T2 = 38
End Select
'Prüfen, ob geänderte Zelle im relevanten Zellbereich liegt
If Zeile >= Zeile_T Then
If Spalte >= Spalte_T1 And Spalte = Zeile_T Then
'zu kopierenden Zellbereich setzen
Set rngCopy = .Range(.Cells(Zeile_T, Spalte_T1), _
.Cells(Zeile_L, Spalte_T2))
End If
End With
End If
End If
'Kopierstatus prüfen
If bolCopy = True Then
'Makrobremsen lösen
With Application
StatusCalc = .Calculation
.Calculation = xlCalculationManual
.EnableEvents = False
.ScreenUpdating = False
End With
'Alle Tabellenblätter in der Arbeitsmappe abarbeiten
For Each wks In ActiveWorkbook.Worksheets
'Blattname prüfen
Select Case wks.Name
Case Sh.Name, "Feiertage", "Tab XYZ"
'in diese Blätter nicht kopieren
Case Else
'Werte für relevanten Datenbereich setzen
Select Case wks.Name
Case "Kurse Übersicht"
Zeile_T = 5
Spalte_T1 = 1
Spalte_T2 = 2
Case Else
Zeile_T = 5
Spalte_T1 = 37
Spalte_T2 = 38
End Select
With wks
'letzte Zeile mit Daten im relevanten Datenbereich ermitteln
Zeile_L = Application.WorksheetFunction.Max( _
.Cells(.Rows.Count, Spalte_T1).End(xlUp).Row, _
.Cells(.Rows.Count, Spalte_T2).End(xlUp).Row)
If Zeile_L >= Zeile_T Then
'vorhandene Daten und Formate im relevanten Bereich löschen
.Range(.Cells(Zeile_T, Spalte_T1), _
.Cells(Zeile_L, Spalte_T2)).Clear
End If
If Not rngCopy Is Nothing Then
'neue Daten in den relevanten bereich kopieren
rngCopy.Copy Destination:=wks.Cells(Zeile_T, Spalte_T1)
End If
End With
End Select
Next
'Makrobremsen wieder zurücksetzen
With Application
.Calculation = StatusCalc
.EnableEvents = True
.ScreenUpdating = True
End With
End If
End Select
End Sub

Anzeige
AW: Daten automatisch auf mehrere Tabellenbläter
15.09.2016 12:28:12
Flip086
Vielen Vielen Dank Franz.
Es läuft wirklich perfekt und ist genau das was ich gesucht habe. Ich habe es ja schon zusammengebracht aus einigen Codes etwas zusammen zu basteln aber das schaut dann doch schon aufwendiger aus.
Vielen Dank für deine schnelle Hilfe.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige