Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
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

Zellen überwachen und automatisch Inhalt und Forma

Zellen überwachen und automatisch Inhalt und Forma
05.10.2014 12:00:29
Tilo
Hallo Zusammen,
mein Problem wurde in einer ähnlichen Form schon einige Beiträge weiter unten behandelt, aber nicht so gelöst, dass ich etwas damit anfangen kann.
Es geht um den automatischen Übertrag von mehreren Zellen samt ihrer Formatierungen auf mehrere andere Tabellenblätter in der gleichen Arbeitsmappe. Die Ausgangszellen befinden sich alle in "Tabelle1" und die Zielzellen sind in "Tabelle2", "Tabelle3" und "Tabelle4".
Als Anfang meiner Versuche wählte ich ein Makro, welches eine Zelle eines Tabellenblattes automatisch überwacht und dann sobald eine Änderung vorgenommen wird, den Namen eines anderen Tabellenblattes ändert.
Diese funktionierende Makro habe ich veruscht etwas zu verändern, aber ohne Erfolg. Als beispiel habe ich eine Mappe mit den 2 Makros angehängt.
https://www.herber.de/bbs/user/92969.xlsm
Die meisten meiner Exel-Probleme konnte ich durch suchen und lesen hier im Forum lösen, aber diesmal ohne Erfolg.
Vielen Dank für Euer Wissen und Eure Hilfe

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen überwachen und automatisch Inhalt und Forma
05.10.2014 14:37:19
Christian
hallo Tilo,
so zB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim i As Long
Application.ScreenUpdating = False
With ThisWorkbook
Set rng = .Sheets("Tabelle1").Range("A5:A7")
If Not Application.Intersect(rng, Target) Is Nothing Then
rngKey.Copy
For i = 2 To 4
.Sheets("Tabelle" & i).Range(rng.Address).PasteSpecial xlPasteValues
.Sheets("Tabelle" & i).Range(rng.Address).PasteSpecial xlPasteFormats
Next
End If
End With
Set rng = Nothing
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Wenn du einen Wert in "Tabelle1", "A5:A7" änderst wird dieser Bereich in die anderen 3 Tabellen kopiert.
Gruß
Christian

Anzeige
AW: Zellen überwachen und automatisch Inhalt und Forma
05.10.2014 15:43:15
Tilo
Hallo Christian,
ich habe den Code eingefügt und bekomme aber eine Fehlermeldung. "Fehler beim Kompilieren: Variable nicht definiert". Wenn ich diese Meldung mit OK bestätige, dann wird "rngKey" (Zeile 12) markiert.
Dann hätte ich noch eine weitere Bitte. Lässt sich das so umbauen, dass ich eine Reihe von Tabellen mit Namen angeben kann, da es später erweitert werden soll und nicht sicher ist das die neuen Blätter 5, 6, und 7 sind, sondern vielleicht 10, 11, und 12.Von daher wären mir Namen lieber.
Danke und Gruß
Tilo

AW: Zellen überwachen und automatisch Inhalt und Forma
05.10.2014 15:50:48
Christian
hallo Tino,
ja, das war noch ein Fehler drin ... hätte ich vorher testen sollen ...
Ersetze "rngKey.Copy" durch "rng.Copy"
Zu deiner 2. Frage - Teste mal:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim i As Long
Dim vntWks As Variant
vntWks = Array("Tabelle2", "Tabelle3", "Tabelle4")
Application.ScreenUpdating = False
With ThisWorkbook
Set rng = .Sheets("Tabelle1").Range("A5:A7")
If Not Application.Intersect(rng, Target) Is Nothing Then
rng.Copy
For i = 0 To UBound(vntWks)
.Sheets(vntWks(i)).Range(rng.Address).PasteSpecial xlPasteValues
.Sheets(vntWks(i)).Range(rng.Address).PasteSpecial xlPasteFormats
Next
End If
End With
Set rng = Nothing
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Gruß
Christian

Anzeige
AW: Zellen überwachen und automatisch Inhalt und Forma
05.10.2014 16:38:43
Tilo
Hallo Christian,
nun tut der Code genau das was ich mir vorstelle und so wie ich es brauche. Ich kann beliebige Tabellen hinzufügen oder wieder entfernen.
Das i-Tüpfelchen wäre noch, dass auf jeder Tabelle in die eine Kopie der Zellen eingefügt wird, die Markierung vom Kopieren aufgehoben wird.
Dazu habe ich am Ende noch für jede Tabelle 2 Zeilen Code eingefügt, der Fett markierte, bevor das Bildschirmupdate wieder eingeschaltet wird:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim i As Long
Dim vntWks As Variant
vntWks = Array("Tabelle2", "Tabelle3", "Tabelle4")
Application.ScreenUpdating = False
With ThisWorkbook
Set rng = .Sheets("Tabelle1").Range("A5:A7")
If Not Application.Intersect(rng, Target) Is Nothing Then
rng.Copy
For i = 0 To UBound(vntWks)
.Sheets(vntWks(i)).Range(rng.Address).PasteSpecial xlPasteValues
.Sheets(vntWks(i)).Range(rng.Address).PasteSpecial xlPasteFormats
Next
End If
End With
Set rng = Nothing
Application.CutCopyMode = False
Sheets("Tabelle2").Select
Range("A4").Select
Sheets("Tabelle3").Select
Range("A4").Select
Sheets("Tabelle4").Select
Range("A4").Select
Sheets("Tabelle1").Select
Range("A4").Select
Application.ScreenUpdating = True
End Sub
Der Plan war eigentlich, einmal jede Tabelle und eine Zelle darin aus zu wählen und somit die Markierung vom kopieren zu entfernen.
Nun bekomme ich leider den Laufzeitfehler 1004: Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden.
Auf jeden Fall danke ich dir schon vielmals bis hierher für deine Hilfe. Vielleicht kannst du mir dabei auch den entscheidenden Tipp geben.
Gruß
Tilo

Anzeige
AW: Zellen überwachen und automatisch Inhalt und Forma
05.10.2014 17:12:36
Christian
Hallo Tilo,
macht aus meiner Sicht erst mal keinen Sinn, aber wenn du das so willst, dann erstze den entspr. Teil mit folgendem Code:
    With ThisWorkbook
Set rng = .Sheets("Tabelle1").Range("A5:A7")
If Not Application.Intersect(rng, Target) Is Nothing Then
rng.Copy
For i = 0 To UBound(vntWks)
.Sheets(vntWks(i)).Range(rng.Address).PasteSpecial xlPasteValues
.Sheets(vntWks(i)).Range(rng.Address).PasteSpecial xlPasteFormats
.Sheets(vntWks(i)).Activate
.Sheets(vntWks(i)).Cells(4, 1).Select
Next
End If
.Sheets("Tabelle1").Activate
.Sheets("Tabelle1").Cells(4, 1).Select
End With
Gruß
Christian

Anzeige
AW: Zellen überwachen und automatisch Inhalt und Forma
05.10.2014 17:28:05
Tilo
Hallo Christian,
nun ist es Perfekt! Problem/Anliegen gelöst
.Sheets("Tabelle1").Cells(4, 1).Select
habe ich noch auskommentiert, damit nicht in der Quelltabelle jedes mal die Zelle A4 aktiviert wird, sondern nur in den anderen Tabellen die als Ziel der Kopie dienen.
So kann man die Quelltabelle bearbeiten und wenn man dann in eine Zieltabelle wechselt, sind nicht jedes mal die Ziel-Zellen markiert. Ich weis nicht, vielleicht hätte ich das auch besser formulieren können, aber so funktioniert es wunderbar.
Nochmals vielen vielen DANK und einen schönen Rest-Sonntag dir!!!
Gruß
Tilo

Anzeige
Danke für die Rückmeldung (owT)
05.10.2014 19:14:34
Christian
Gruß
Christian

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige