Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

tabellen verknüpfen - inklusive formatierungen?





Frage

Hi, ich brauche mal kurz ´ne kleine Unterstützung! Ich habe ein Excelsheet mit zwei Tabellen. Auf Tabelle1 werden Daten eingetragen, die dann zum Teil ("D6:AI53") inklusive aller Formatierungen (Zellhintergrund, Schriftfarbe usw.) auf Tabelle2 gespiegelt werden sollen. Wenn man die Tabellen "normal" verknüpft, bekommt man ja nur die Werte rüber! Kennt jemand ne Lösung, biiiiitte?

Antwort 1 von want2cu

ich würde zunächst mal den Formelteil erledigen, d.h. in Tabelle 2 die Bezüge zu den Zellen in tabelle 1 herstellen.
Dann in Tabelle 1 gehen und nur die Formate nach Tabelle 2 kopieren.

Dann müßte Tabelle 2 eigentlich so aussehen wie du es haben willst.
Wenn du nicht klar kommst, melde dich bitte noch mal

CU
KLaus

Antwort 2 von most_wanted

danke!
Ich hab´s getestet und es Funktioniert! Problem: bei der Formatierung fehlt mir dann die Aktualisierung.
Ich habe in der Tabelle1 bedingte Formatierungen über ein Makro erweitert, für elf verschiedene Werte habe ich elf verschiedene Farben. Wenn ich Deine Lösung verwende und dann auf Tabelle1 etwas ändere, dann wird auf Tabelle2 zwar der Wert geändert, die Formatierung bleibt aber wie vorher!

Antwort 3 von want2cu

kannst du das Makro nicht einfach auf die Tabelle 2 übertragen und an die dortigen Zellbezüge anpassen?

Ich bin leider nicht der VBA/Makro-Experte :-( (ich trainiere noch), so dass ich dir bei der Makro-Lösung leider nicht helfen kann.
Aber ich weiss, dass hier viele Makro-Experten nur darauf lauern, diese Nuss zu knacken (hoff ich doch, oder?).

CU
Klaus

Antwort 4 von most_wanted

dann gehts Dir also so wie mir!
Bin leider auch total am üben!!!

Ähm, wenn ich das Makro auf die Tablle2 übernehme habe ich das Problem, dass es sich auf die Zellwerte bezieht, nicht auf ein "Formelergebnis" bzw. nicht auf die Verknüpfung! Somit greift dann die Formatierung auch nicht... Blöde Sache das!

Das sich hier viele wilde Experten herumtreiben habe ich schon bemerkt, einer davon (Flupo) hat mir auch schon bei diesem Sheet geholfen (many thxxx), aber ich wollte ihn nicht schonwieder fragen!

Ich kann das excelsheet auch per E-Mail schicken, falls jemand wirklich helfen kann / will!

danke schonmal, C........

Antwort 5 von want2cu

hallo most_wanted,

wenn das Excel-Sheet nicht zu gross ist, kannst du es mir ja gerne mal schicken. Ich hoffe, zwar, dass sich hier noch jemand Kompetentes zum Thema VBA/Makro erbarmt, aber ich will es zumindest gerne mal versuchen, ob und wie ich dir helfen kann.

Schöne Grüsse
CU
Klaus

Antwort 6 von nighty

hi alle

ein makro was einen beliebig grossen bereich abdeckt und tabelle1 auf tabelle2 spiegelt bzw. kopiert.

gruss nighty


Sub Makro1()
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
alta = LastCell.Row
a = LastCell.Row
Do While Application.CountA(Rows(a)) = 0 And a <> 1
a = a - 1
Loop
alta = a
altb = LastCell.Column
b = LastCell.Column
Do While Application.CountA(Columns(b)) = 0 And b <> 1
b = b - 1
Loop
altb = b
lzeile = alta
lspalte = altb
Range("a1") = lspalte
Range("a2") = lzeile
Range(Chr$(65) & 1 & Chr$(58) + Chr$(64 + altb) & alta).Select
Range("A1:C2").Select
Selection.Copy
Sheets("Tabelle2").Select
Range(Chr$(65) & 1 & Chr$(58) + Chr$(64 + altb) & alta).Select
ActiveSheet.Paste
Range("A1").Select
Sheets("Tabelle1").Select
Application.CutCopyMode = False
Range("A1").Select
End Sub

Antwort 7 von nighty

hi alle

nicht ganz beliebig gross nur a-z bei den spalten.

gruss nighty

Antwort 8 von nighty

hi alle

oops diese zeilen sind nun ueberfluessig bitte weglassen.

Range("a1") = lspalte
Range("a2") = lzeile

gruss nighty

Antwort 9 von nighty

hi alle

sorry bin nicht bei der sache heut hier der fehlerfrei code.

Sub Makro1()
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
alta = LastCell.Row
a = LastCell.Row
Do While Application.CountA(Rows(a)) = 0 And a <> 1
a = a - 1
Loop
alta = a
altb = LastCell.Column
b = LastCell.Column
Do While Application.CountA(Columns(b)) = 0 And b <> 1
b = b - 1
Loop
altb = b
lzeile = alta
lspalte = altb
Range(Chr$(65) & 1 & Chr$(58) + Chr$(64 + altb) & alta).Select
Selection.Copy
Sheets("Tabelle2").Select
Range(Chr$(65) & 1 & Chr$(58) + Chr$(64 + altb) & alta).Select
ActiveSheet.Paste
Range("A1").Select
Sheets("Tabelle1").Select
Application.CutCopyMode = False
Range("A1").Select
End Sub

gruss nighty