Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1552to1556
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

Werte lesen und in andere Tabelle übertragen

Werte lesen und in andere Tabelle übertragen
20.04.2017 12:08:14
Alex
Hallo,
ich bin ein Neuling was Excel-VBA angeht. Dank diesem Forum und den vielen Beispielen konnte ich mir vielmals behelfen.
Frage an die Experten:
Kann man mit Hilfe von VBA aus einer Tabelle aus erste Zeile mehrere Werte gleichzeitig nehmen und in die andere Tabelle an verschiedenen Zellen eintragen z.B.:
Arbeitsdatei(1) Tabelle(1) Zeile(1) nimm die Werte aus Zellen A1, B1, G1, H1, I1, J1, K1, M1, N1 und schreibe diese Werte in die Arbeitsdatei(2) Tabelle(2) in die Zellen A5, B5, C2, C3, B2, B3, A2, B7 und A7.
Ich hoffe man kann mein vorhaben verstehen.
Danke schon mal in Voraus
Gruß
ALex

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte lesen und in andere Tabelle übertragen
20.04.2017 12:34:37
Bernd
Servus Alex,
das geht z.B. mit folgender Vorgehensweise in einem allgemeinen Modul:

Sub kopieren()
Dim wb As Workbook
Dim wb2 As Workbook
Dim ws As Worksheet
Dim ws2 As Worksheet
Set wb = ThisWorkbook
Set wb2 = Workbooks.Open("C:\Test\Microsoft Excel-Arbeitsblatt (neu).xlsx") ' Pfad der  _
Zieldatei anpassen
Set ws = wb.Sheets("Tabelle1") ' Tabellennamen anpassen
Set ws2 = wb2.Sheets("Tabelle1") ' Tabellennamen anpassen
ws2.Cells(5, 1).Value = ws.Cells(1, "A").Value ' von A1 nach A5
ws2.Cells(5, 2).Value = ws.Cells(1, "B").Value ' von B1 nach B5
ws2.Cells(2, 3).Value = ws.Cells(1, "G").Value ' von G1 nach C2
ws2.Cells(3, 3).Value = ws.Cells(1, "H").Value ' von H1 nach C3
ws2.Cells(2, 2).Value = ws.Cells(1, "I").Value ' von I1 nach B2
ws2.Cells(3, 2).Value = ws.Cells(1, "J").Value ' von J1 nach B3
ws2.Cells(2, 1).Value = ws.Cells(1, "K").Value ' von K1 nach A2
ws2.Cells(7, 2).Value = ws.Cells(1, "M").Value ' von M1 nach B7
ws2.Cells(7, 1).Value = ws.Cells(1, "N").Value ' von N1 nach A7
wb2.Close True
Set ws = Nothing
Set ws2 = Nothing
Set wb = Nothing
Set wb2 = Nothing
End Sub
Grüße, Bernd
Anzeige
AW: Werte lesen und in andere Tabelle übertragen
20.04.2017 13:32:52
Alex
Hallo Bernd,
das ist ja Blitzschnelle Antwort.
Vielen Dank, funktioniert Super.
Kannst Du bitte den Code noch soweit erweitern, dass er danach mit der zweite Zeile weiter macht und so lange bis er 9 Zeilen durch hat und danach Ausdruckt.
Nach dem Ausdruck im wb2 alle Daten löscht und mit Zeile 10 aus dem wb weiter anfängt mit weiteren 9 Zeilen und wieder Ausdrucken und das solange bis alle Beschrieben Zeilen aus dem wb abgearbeitet sind.
Zeile2 kommt dann ins wb2 in die Zellen E5, F5, G2, G3, F2, F3, E2, F7, E2
Zeile3 ins wb2 in die Zellen I5, J5, K2, K3, J2, J3, I2, J7, I7
Zeile4 ins wb2 in die Zellen A13, B13, C10, C11, B10, B11, A10, B15, A15
usw...
Ich Danke Dir vielmals...
Grüße
Alex
Anzeige
AW: Werte lesen und in andere Tabelle übertragen
20.04.2017 14:18:09
Bernd
Servus,
wie ist denn die Logik der Einträge in die Zieldatei? Da ist leider keine erkennbar.
Wenn man z.B. sagen könnte Zellwert A(i) kommt immer in B(i+3), dann ließe sich das über eine Schleife realisieren. Du springst jedoch von A1 auf A5, in der nächsten Zeile von A2 auf E5, in der dritten von A3 zu I5 und in der vierten von A4 auf A13?! Ohne klare Reihenfolge bleibt dir nichts anderes übrig als jede Codezeile einzeln zu tippen. Das Grundwerkzeug hast du von mir bekommen. Du musst jetzt jede weitere Zelle miteinander in Verbindung bringen...
Als Hinweis:
Du musst dazu in meinem Code zwischen
ws2.Cells(7, 1).Value = ws.Cells(1, "N").Value ' von N1 nach A7 

und
wb2.Close True

jede weitere Verknüpfung eintippen...
Grüße, Bernd
Anzeige
AW: Werte lesen und in andere Tabelle übertragen
20.04.2017 15:20:20
Alex
Hallo Bernd,
erst mal vielen Dank für deine Unterstützung...
Leider liegt es an meine Vorlage das aus sozusagen 9-Karten besteht, die ich befühlen möchte.
Ich hänge mal ein Screenshot aus, damit Du es sehen kannst.
Userbild
Das habe ich mir auch schon gedacht, das ich alle 9-Karten als jede Codezeile einzeln schreiben muss.
Was ich gerne noch wissen möchte, wie macht man es in der Abhängigkeit wenn ich nur 3 oder 4 Zeilen habe und nicht alle 9?
Das heißt das in meine Vorlage nur 3 oder 4 Karten befühlt werden.
Wie mache ich es mit 15 Zeilen, dann müsste ich ja die Vorlage nach dem die 9 Zeilen übertragen wurden ein mal leeren und ab Zeile 10 in der Vorlage mit der erste Karte neu anfangen?
Danke und Gruß
Alex
Anzeige
AW: Werte lesen und in andere Tabelle übertragen
21.04.2017 14:26:15
Bernd
Servus,
für den Aufwand sollte ich Lizenzgebühren verlangen :-)

Sub kopieren()
Dim wb As Workbook
Dim wb2 As Workbook
Dim ws As Worksheet
Dim ws2 As Worksheet
Set wb = ThisWorkbook
Set wb2 = Workbooks.Open("C:\Test\Microsoft Excel-Arbeitsblatt (neu).xlsx") ' Pfad der  _
Zieldatei anpassen
Set ws = wb.Sheets("Tabelle1") ' Tabellennamen anpassen
Set ws2 = wb2.Sheets("Tabelle1") ' Tabellennamen anpassen
intLZ = ws.Cells(Rows.Count, 1).End(xlUp).Row
x = 0
y = 0
For i = 2 To intLZ
ws2.Cells((5 + x * 8), (1 + y * 4)).Value = ws.Cells(i, "A").Value ' von A1 nach A5
ws2.Cells((5 + x * 8), (2 + y * 4)).Value = ws.Cells(i, "B").Value ' von B1 nach B5
ws2.Cells((2 + x * 8), (3 + y * 4)).Value = ws.Cells(i, "G").Value ' von G1 nach C2
ws2.Cells((3 + x * 8), (3 + y * 4)).Value = ws.Cells(i, "H").Value ' von H1 nach C3
ws2.Cells((2 + x * 8), (2 + y * 4)).Value = ws.Cells(i, "I").Value ' von I1 nach B2
ws2.Cells((3 + x * 8), (2 + y * 4)).Value = ws.Cells(i, "J").Value ' von J1 nach B3
ws2.Cells((2 + x * 8), (1 + y * 4)).Value = ws.Cells(i, "K").Value ' von K1 nach A2
ws2.Cells((7 + x * 8), (2 + y * 4)).Value = ws.Cells(i, "M").Value ' von M1 nach B7
ws2.Cells((7 + x * 8), (1 + y * 4)).Value = ws.Cells(i, "N").Value ' von N1 nach A7
x = x + 1
If x = 3 Then
y = y + 1
x = 0
End If
Select Case i
Case Is = 10, 19, 28, 37, 46, intLZ
ws2.PrintOut , copies:=1
ws2.Range("A2:K3").ClearContents
ws2.Range("A5:K5").ClearContents
ws2.Range("A7:K7").ClearContents
ws2.Range("A10:K11").ClearContents
ws2.Range("A13:K13").ClearContents
ws2.Range("A15:K15").ClearContents
ws2.Range("A18:K19").ClearContents
ws2.Range("A21:K21").ClearContents
ws2.Range("A23:K23").ClearContents
y = 0
End Select
Next i
wb2.Close True
Set ws = Nothing
Set ws2 = Nothing
Set wb = Nothing
Set wb2 = Nothing
End Sub
Grüße, Bernd
Anzeige
AW: Werte lesen und in andere Tabelle übertragen
27.04.2017 11:06:59
Alex
Hallo Bernd,
Sorry, das ich mich so spät melde...
Ich war leider ein Woche ohne Internet und konnte Dir nicht antworten.
Ich bewundere immer wieder solche Menschen wie Dich...
Dein Programmierung funktioniert 1a, sowie ich mir das vorgestellt habe, echt SUPER.
Dafür vielen Dank an Dich.
Ich möchte Dich ungern weiter damit belästigen, aber ich möchte schon gerne wenn es geht kurze Beschreibung was genau da passiert.
Viele Grüße und Danke
Alex

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige