ich möchte von der Tabelle 1, in denen ich verschiedene
Berechnungen mache, die Ergebnisse in eine andere Tabelle
übertragen. Dabei sollen nur die Werte, nicht aber Formeln
automatisch übertragen werden. Die Argumente in Tabelle 1
werden immer wieder angepasst, d.h. die zu übertragenden
Ergebnisse ändern sich. In Tabelle 2 sollen diese
Ergebnisse automatisch eingefügt werden. Ich kann nicht
jedesmal den Befehl Einfügen Werte ausführen. Gibt es eine
Formel dafür?
MFG
roli
.
schau bei Deinem ersten Eintrag nach !!! Dort stehts...
Christian Spyra
"Roland Keller" <roland...@cws.com> schrieb im Newsbeitrag
news:85c901c24ea8$26841da0$2ae2...@phx.gbl...
Na klar, und zwar "=".
So wie Du mit "=A1" den Wert von A1 _derselben_ Tabelle dynamisch
"übertragen" kannst, kannst Du auch Werte aus anderen Tabellen
"übertragen". Dabei musst Du vor den Zellbezug den Tabellennamen
schreiben, dann "!", dann den Zellbezug auf der anderen Tabelle, also
z.B. "=Tabelle1!A1".
Zum besseren Verständnis mach folgendes:
- markiere in Deiner Tabelle 2 eine Zelle
- tippe das Gleicheitszeichen
- wähle über die Registerkartenreiter Deine Tabelle 1 aus
- klicke auf die Zelle, deren Wert Du in Tabelle 2 haben willst
- drücke Return
In der Zelle in Tabelle 2 findest Du jetzt den entsprechenden Verweis
auf Tabelle 1.
--
Hoffe, ich konnte Dir helfen.
Schönen Gruß
Michael
michael....@gmx.de
"Roland Keller" schrieb:
wenn du permanent eine Aktualisierung willst, aber auf Formeln verzichten
möchtest, dann gehts IMHO nur mit VBA.
Welchen Bereich der Tabelle1 willst du denn in Tabelle2 an welche Stelle
spiegeln?
Hier ein Makro, welches von "Tabelle1 A1:E20" nach "Tabelle2 A1:E20" Daten
überträgt.
Die Tabellenregister müssen nach "Tabelle1" und "Tabelle2" benannt sein.
Klicke auf den Tabellenregister "Tabelle1" -> Code anzeigen und füge das
Makro in das rechte Fenster ein.
Sobald auf dem Tabellenblatt1 im Bereich A1:E20 eine Veränderung eintritt,
wird das Makro automatisch ausgeführt.
'##########################################
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range("A1:E20")) _
Is Nothing Then Exit Sub
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Worksheets("Tabelle1")
Set ws2 = Worksheets("Tabelle2")
Dim iRow%, iCol%
'Bereich Tabelle1 A1:E20 nach Tabelle2 A1:E20
Do Until iCol = 5 'Spalte E
iCol = iCol + 1
Do Until iRow = 20
iRow = iRow + 1
ws2.Cells(iRow, iCol) = ws1.Cells(iRow, iCol)
Loop
iRow = 0
Loop
End Sub
'##########################################
Man könnte z.B. auch Daten von Tabelle1 F15:K25 nach Tabelle2 A1:F11
transportieren.
Verwende dazu folgendes Makro. Das andere musst du löschen oder
auskommentieren.
'##########################################
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range("F15:K25")) _
Is Nothing Then Exit Sub
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Worksheets("Tabelle1")
Set ws2 = Worksheets("Tabelle2")
Dim iRow%, iCol%
Dim i2Row%, i2Col%
'Bereich Tabelle1 F15:K25 nach Tabelle2 A1:F11
iCol = 5
iRow = 14
Do Until iCol = 11 'Tabelle1 Spalte K
iCol = iCol + 1
i2Col = i2Col + 1
Do Until iRow = 25 'Tabelle1 Zeile 25
iRow = iRow + 1
i2Row = i2Row + 1
ws2.Cells(i2Row, i2Col) = ws1.Cells(iRow, iCol)
Loop
iRow = 14
i2Row = 0
Loop
End Sub
'##########################################
Evtl. kannst du die Bereiche an deine Umgebung anpassen oder gibst hier noch
mal ein genaues Beispiel.
Hoffe, dass dir das weiterhilft.
mit Gruß
Melanie