Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
388to392
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
388to392
388to392
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten von Tabelle1 auf Tabelle2 übernehmen

Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 13:18:49
Ute
Hallo Leute, ich möchte Daten aus Tabelle1 entnehmen, und in Tabelle2 übernehmen.
Da die Daten nicht in „Reihe“ stehen wird’s kompliziert.
Die Daten stehen in Tabelle1 in folgenden Zellen:
D7, I7, N7, S7, X7, AC7, AG7 dann wieder einen Sprung von 35 Zeilen !
D42, I42, N42, S42, X42, AC42, AG42 dann wieder einen Sprung von 35 Zeilen !
D77, I77, N77, S77, X77, AC77, AG77 usw.
Das Ganze soll 53 mal, also in 35er Schritte bis Zeile 1825 erfolgen.
Der Inhalt der Zellen soll dann auf dem Blatt Tabelle2 von A4 an untereinander eingetragen werden.
Würde mich über eine Lösung sehr freuen.
Gruß
Ute

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 13:57:56
Roland Hochhäuser
Hallo Ute,
. . . von A4 an untereinander eingetragen . . . wie meinst du das?
1. D7 in A4, I7 in A5, N7 in A6 usw. oder
2. D7 in A4, I7 in B4, N7 in C4 usw.
Gruß
Roland
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 15:33:37
Ute
Hallo Roland, die Daten in Tabelle2 sollen in der Spalte A untereinander stehen
also, D7 in A4, I7 in A5, N7 in A6 usw. oder

Hallo Joachim, dein Code habe ich ausprobiert, aber es kommt ein Laufzeitfehler
"Die Select Methode des Range-Objektes konnte nicht ausgeführt werden"
Kann es sein das es nicht funktioniert weil A1 in Tabelle1 besetzt ist ?

Gruß
Ute
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 17:08:29
Roland Hochhäuser
Hallo Ute,
dann müsste es so gehen:
Option Explicit

Sub Kopieren()
Dim i As Integer, j As Integer, k As Integer, l As Integer
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Tabelle2").Range("A" & k + l).Value = _
Worksheets("Tabelle1").Cells(j + 7, (5 * k) - 1).Value
Next
k = 7
Worksheets("Tabelle2").Range("A" & k + l).Value = _
Worksheets("Tabelle1").Cells(j + 7, 33).Value
j = j + 35
l = l + 7
Next
End Sub

Gruß
Roland
Anzeige
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 17:22:55
Ute
Toll klappt prima, danke dir.
Könntest du zur Verständnis des Listing noch Bemerkungen dazu schreiben ?
Dann kann ich es besser nachvollziehen, denn ich bin VBA-Anfänger und möchte
noch ne Menge Lernen !
Es interessiet mich z.B. wie die einzelnen Zellen aufgerufen werden usw.

Danke für deine Mühe
Gruß
Ute
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 18:24:36
Roland Hochhäuser
Hallo Ute,
in der gebotenen Kürze (zu Schleifen etc. findest du einiges in den Basics auf dieser Web-Site); im Grunde genommen ergibt sich alles mit ein wenig Logik aus deiner Aufgabenstellung:
Dim i As Integer, j As Integer, k As Integer, l As Integer => wir brauchen 4 Zähler
i ist der Zähler für die Schleife, nach der Aufgabenstellung muss 53-mal das gleiche gemacht werden, ergo: For i = 1 To 53
j ist der Zähler für die Zeilen in Tabelle2, nach der Aufgabenstellung ist die 1. Zeile die 7 und dann kommen immer 35 dazu => also vor die Schleife J=0 setzen, in der Schleife (=zwischen for und next) die Zeile in Tabelle 2 mit 7 anfangen lassen =Cells(j + 7,= und am Ende der Schleife 35 drauflegen (Zuweisung: j = j + 35)
k ist der Zähler für die Spalten in Tabelle2. Nach der Aufgabenstellung waren die Spalten D, I, N, S, X, AC und AG zu erfassen. In der Cells-Schreibweise(=> Basics) sind das die Spalten 4, 9, 14, 19, 24, 29 und 33, die Werte befinden sich also immer in diesen 7 Spalten. Die ersten 6 Spalten kann man mit =(5 * k) - 1= definieren, die 7. weicht von diesem Muster ab; ich habe daher den k-Zähler mit 7 und den Spaltenwert mit 33 definiert.
l ist der Zeilenzähler für Tabelle1; nach der Aufgabenstellung wolltest du die Werte untereinander beginnend mit A4 haben. Also l vor der Schleife mit 3 starten lassen, innerhalb der Schleife mit k aufaddieren und am Ende der Schleife mit der Zuweisung l=l+7 (es sind ja 7 k-Werte dazu gekommen) neu starten lassen.
Da keiner der Zähler den Wert 32767 erreichen wird, reicht eine Dimensionierung als Integer.
Das eigentliche Kopieren ist trivial: im Kern steht dort nur .value = .value. Dadurch kannst du z.B. performanceschädliches Selektieren vermeiden. Für eine Anfängerin verwirrend ist möglicherweise die Verwendung von Range- und Cells-Schreibweisen; es sind aber wirklich nur unterschiedliche Schreibweisen. Den "Mittelteil" hätte man z.B. auch so schreiben können:
Worksheets("Tabelle2").Cells(k + l, 1).Value = _
Worksheets("Tabelle1").Cells(j + 7, (5 * k) - 1).Value
So, mehr erkläre ich am Freitagabend nicht :-)
Gruß
Roland
Anzeige
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 18:50:23
Ute
Toll, super !
Auf jeden Fall haste dir das Wochenende verdient.
Toll das es solche Leute gibt, die den Laien auch helfen.

Vielen Dank und Gruß
Ute
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 19:51:45
Ute
Hallo Roland, falls du doch noch mal reinschaust, das mit den (5*k)-1 verstehe ich
nicht.
Was muss ich alles ändern wenn ich den selben Vorgang mit den Zellen
F9, K9, P9, U9, Z9, AE9, AI9 anwenden möchte ?
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 20:25:12
Roland Hochhäuser
Hallo Ute,
. . .den selben Vorgang mit den Zellen F9, K9, P9, U9, Z9, AE9, AI9 anwenden . .
Bevor ich dir Müll erzähle, erst mal einige pingelige "Verständnisabfragen":
- aus der Tabelle1 nach Tabelle2?
- auch alle 35 Zeilen (beginnend mit Zeile9), und das ganze 53-mal?
- Wohin nach Tabelle1 genau? in SpalteB, beginnend mit B4 abwärts? . . oder auch in Spalte A zwischen die anderen (wenn ja, wohin dort genau?)
Gruß und ein verspätetes Danke für das Feedback von
Roland
Anzeige
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 20:37:03
Ute
Also genau so wie vorher, aber du hast die Tabellen verwechselt !
Tabelle1 stehen die gewissen Zellen, alson F9, K9, P9, U9, Z9, AE9, u. Ai9
Nun sollen diese Zellen in Tabelle2 ab Spalte B4, und dann weiter untereinander stehen.
Also genau so wie im ersten Beispiel
Gruß
Ute
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 21:01:20
Roland Hochhäuser
Hallo Ute,
. . du hast die Tabellen verwechselt ! tsss . . . Freitag!!
dann müsste das funktionieren (Erklärung vgl. mein letztes Posting):

Sub kopieren2()
Dim i As Integer, j As Integer, k As Integer, l As Integer
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Tabelle2").Range("B" & k + l).Value = _
Worksheets("Tabelle1").Cells(j + 9, (5 * k) - 1).Value
Next
k = 7
Worksheets("Tabelle2").Range("B" & k + l).Value = _
Worksheets("Tabelle1").Cells(j + 9, 35).Value
j = j + 35
l = l + 7
Next
End Sub

Gruß
Roland
Anzeige
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 21:21:27
Ute
Überträgt die Daten aber nicht Richtig !
Es stehen in den Zellen Uhrzeiten in Deziman z.B. 5,25 Zelle ist Formartiert mit
Zahl und 2 Dezimalstellen. Nun kommt aber in Tabelle2 dan 0,60 heraus, obwohl die
Zelle genauso Formartiert ist.
Haste da auch evt. ne Lösung ?
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 21:26:07
Roland Hochhäuser
Ute, das kann ich jetzt nicht nachvollziehen. Am besten lädtst du die Tabelle mal mit ein paar Spieldaten hoch, dann sehe ich es mir an.
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 21:41:42
Ute
So habe nun ne abgespeckte Variante hochgeladen
https://www.herber.de/bbs/user/3988.xls
Ich möchte, da die Kalenderwochen Monatsübergreifend sind, für jeden Mitarbeiter
die gesamte geleistete Monatsarbeitszeit errechnen.
Dazu wollte ich Tabelle2 verwenden, und dort die Daten zusammenstellen.
Gruß
Ute
Anzeige
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 21:54:06
Roland Hochhäuser
Hallo Ute,
formatier die Tabelle2 Spalte B mit Uhrzeit und nimm den obersten Typ *13:30:55, dann bist du diese Sorge los.
Gruß
Roland
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 22:06:11
Ute
Dann ist aber der Code Falsch.
Ich bekomme die Zeit von der Spalte "bis" und nicht "Std", also das ganze 2 Spalten
weiter nach rechts.
Gruß
Ute
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 22:24:49
Roland Hochhäuser
Hallo Ute,
dann
1. nimm die Formatierung der Spalte B zurück (wieder auf Standard)
2. setz das Makro 2 Spalten nach rechts => statt (5 * k) - 1) eben (5 * k) + 1)
und statt (j + 9, 35) eben (j + 9, 37).
Für heute steig ich dann aus, ok?
Gruß
Roland
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 22:31:17
Ute
Kann verstehen das du genervt bist, weil ich son kleines Dummchen bin, aber
trotzdem vielen, vielen Dank.
Gruß
Ute
Anzeige
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 22:39:58
Roland Hochhäuser
Ute und . . .son kleines Dummchen ??
Würde ich nicht so stehen lassen . . . dann war ich das ja vor einem Jahr auch:-) und ich bin auch nicht genervt (dann würde ich das hier bestimmt nicht machen), sondern inzwischen schlicht und ergreifend müde.
Gute Nacht und weiter Viel Spaß beim Programmieren
Roland
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 14:12:33
Joachim W.
Hallo Ute,
ich weiss, man sollte auf select verzichten, aber hier schien mir's am einfachsten:

Sub kopierschleife()
Dim i, j, k, l, zähler As Integer
Sheets("Tabelle1").Range("A1").Select
i = 6
j = 35
k = 3
l = 3
For zähler = 1 To 53
Sheets("Tabelle1").Select
ActiveCell.Offset(i, l).Range("A1,F1,K1,P1,U1").Select
Selection.Copy
i = j
l = 0
Sheets("Tabelle2").Select
ActiveCell.Offset(k, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=True _
, Transpose:=True
k = 5
Next zähler
End Sub

Sollte funktionieren.
Gruß
Joachim
Anzeige
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 15:41:30
Ute
Joachim, irgendwo ist da der Wurm drin, komme mit dein Listing nicht weiter !
Muss dazu sagen das ich noch Anfänger bin !
Weis zwar wie man ein Listing einer Schaltfläche zuordnet, aber wenn`s ins
Eingemachte geht, sieht`s schlecht aus.
Gehts auch ohne Schaltfläche ? Sodass die Daten beim Start der Excel_Datei
die Daten automatisch übertragen Werden ?
Gruß
Ute
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 17:16:26
Heinz Ulm
Hallo Ute,
warum denn immer nach VBA rufen,
schau dir mal diese Tabelle an. Es geht auch ohne VBA.
https://www.herber.de/bbs/user/3984.xls
Die Spalte A in Tabelle3 musst D halt ausblenden.
Gruß Heinz
Anzeige
AW: Daten von Tabelle1 auf Tabelle2 übernehmen
27.02.2004 18:27:38
Ute
Auch ne tolle Lösung, danke dir

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige