Tabelle dynamisch verlinken
#1
Hallo Excel-Freunde,
ich habe aktuell folgendes Problem und dachte eigentlich, dass dies einfach zu lösen sei. Bisher hatte ich jedoch keinen Erfolg. Denke es wird nur über ein Makro gehen.

Ich habe eine Tabelle mit verschiedenen Daten erstellt. Hierbei wurden eingige Zellen verbunden und eingefärbt. Zudem unterliegt die Tabelle kontinuierlichen Veränderungen. Ich möchte nun diese Tabelle in einem zweiten Arbeitsblatt und zwar so, dass sie alle Änderungen ein zu eins übernimmt und somit auch die Farben, Rahmen, verbundenen Zellen. Außerdem kann es sein, dass ich nur einen Teil, also Spalten übernehmen möchte und an einen definierten Ort setzten möchte - d.h. nicht einfach nur die andere Tabelle im ganzen an die gleich Stelle kopieren.

Hat jemand von euch eine Idee für einen Makro oder auch eine klassiche Formel ?

Besten Dank schonmal vorab
Michael
Top
#2
Hi Namensvetter,

zuerst solltest du deine verbundenen Zellen entfernen, da das zumeist nur aus optischen Gründen gemacht wird und das optische Bild kann man anders herstellen. Verbundene Zellen bereiten iaR nur Probleme bei späteren Aktionen.

Dann zeichne die notwendigen Arbeitsschritte doch per Macrorecorder auf. Wenn es eine überschaubare Anzahl verschiedener Verlinkungsvorgänge sind, dann ist das schnell erledigt.

Den so erstellten Code postest du dann hier, noch besser stellst hier eine Musterdatei zur Verfügung, um den Code zu optimieren.
Mit freundlichen Grüßen  :)
Michael
Top
#3
Hallo Zwergel,

viel Dank für deine Antwort.
Ohne verbundene Zellen ist es im Prinzip ja nur ein Kopiervorgang eines bestimmten Tabellenbereiches. Mein Macrorecorder gibt mir dann soetwas hier:


Range("A1:R162").Select
Selection.Copy
Sheets("Sheet6").Select
Range("A1").Select
ActiveSheet.Paste


Sieht jetzt erst mal ziemlich simpel aus, aber wenn ich es einfach zwischen Sub XY() un End Sub setzt bekomme ich ne Fehlermeldung. Habe ich vergessen irgentetwas zu definieren ? wie kann ich dann veranlassen, dass der eingefügte Bereich bei jeder Änderung im Ursprungsblatt aktualisiert wird ?

Viele Grüße
Michi
Top
#4
Hi Micha,

also nachvollziehen, warum du ein Problem mit der Aufgabe der verbundenen Zellen hast, kann ich nicht. Hast ja auch nix dazu geschrieben, warum die sein müssen nach deiner Auffassung und dawir hier deinen Tabellenaufbau nicht sehen kann man nur wenig mutmaßen, aber nicht konkret helfen.

Was spricht gegen ein Kopieren, aber dann nicht simpel einfügen sondern dann Verknüpfung einfügen und damit sind die Daten in beiden Tabellen dann synchron, bei jeeder Änderung in der Ursprungstabelle werden die Werte in die andere Tabelle übernommen.

Und was dein Codeschnipsel soll ist mir unklar, da daraus nicht auif Fehler geschlossen werden kann. So wird das ja auch nicht beim Aufzeichnen erfaßt um dann anschließend Sub xy und End Sub drum rum zu schreiben.

Hier mal mein Testcode, um bestimmte Tabellenbereiche aus Tabelle 1 in Tab2 zu kopieren und dort als Link mit den Formaten des Originals einzutragen:

Code:
Option Explicit

Sub Makro1()
'
' Makro1 Makro
'

'
    Range("A1:I18").Select
    Selection.Copy
    Sheets("Tabelle2").Select
    Range("A1").Select
    ActiveSheet.Paste Link:=True
    Sheets("Tabelle2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Application.CutCopyMode = False
    Sheets("Tabelle1").Select
    Selection.Copy
    Sheets("Tabelle2").Select
    Range("A1:I18").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Columns("C:C").EntireColumn.AutoFit
    Columns("D:D").EntireColumn.AutoFit
    Application.WindowState = xlMinimized
    Application.WindowState = xlMinimized
    Sheets("Tabelle2").Select
End Sub

Das ist der Rohcode aus der Aufzeichnung, bei dem anschließend dann nachgearbeitet werden muß (select usw. entfernen)
Mit freundlichen Grüßen  :)
Michael
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste