Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Übertragen von Tabelle zu Tabelle

Übertragen von Tabelle zu Tabelle
12.03.2008 17:24:00
Tabelle
Hallo Leute,
ich hab ein(zwei) Problem/e. =)
Und zwar kurz zu meinem Makro…
Das Makro soll die Daten von QuellTabelle (=QT1 bei mir) in die ZielTabelle (=ZT1) schreiben (sind jeweils in unterschiedlichen Arbeitsmappen)
Jetzt hab ich da was geschrieben, dass auch soweit passt, denke ich! (Dürft mich gerne verbessern) Die QT hatte am Anfang 3 Spalten und sollte dann diese in die ZT schreiben
Meine 1 Frage wäre:
Warum überträgt er die 1 Zeile nicht ganz sondern nur 2 Werte und nicht alle?
Denke liegt an der Schleife finde den Fehler aber nicht!
Dazu sei gesagt das es aber mit den anderen Zeilen funktioniert nur eben nicht mit der Ersten!
Hoff die Frage geht schnell… ^^
Meine 2 Frage wäre mir wichtig:
Da ich das Marko dann so haben möchte, dass er nur die Werte einträgt die ich in ZT vorgebe. Müsste ich noch irgendwo eine Abfrage machen, dass die in der Row(„A:A“) von QT mit der Row(„A:A“) von ZT verglichen werden und dann nur die Werte von A2 bis AEnde übernommen wären.
Hoff ihr könnt mir helfen!?
Hier die 2 Mappen die ich erstellt habe:
https://www.herber.de/bbs/user/50690.zip
Danke

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Übertragen von Tabelle zu Tabelle
12.03.2008 18:30:00
Tabelle
Vielleicht hier noch der Code:
Option Explicit

Sub vergleichen()
' Deklarieren der Variablen
Dim wksQT As Worksheet
Dim wksZT As Worksheet
Dim lngRow As Long
Dim lngColumn As Long
Dim intWert As Long
'Dim lngEnde As Long
' Das "Bildschirmgeflackere" wird abgeschaltet
' Makro "läuft" auch schneller
Application.ScreenUpdating = False
' wksQT ersetzt diesen Ausdruch => Workbooks("QT.xls").Worksheets("QT1")
Set wksQT = Workbooks("QT.xls").Worksheets("QT1")
' wksZT ersetzt diesen Ausdruch => Workbooks("ZT.xls").Worksheets("ZT1")
Set wksZT = Workbooks("ZT.xls").Worksheets("ZT1")
' Wenn die letzt mögliche Zeile bis E2003 (in E2007 gibt es 1 Million Zeilen)
' leer ist, dann wird der Variablen lngEnde die letzte belegte Zelle in Spalte A zugewiesen
'lngEnde = IIf(IsEmptlngY(wksQT.Range("A65536")), wksQT.Range("A65536").End(xlUp).Row, 65536)
For lngRow = 1 To Cells(Rows.Count, 1).End(xlUp).Row
intWert = WorksheetFunction.CountIf(wksQT.Columns(1), _
wksZT.Cells(lngRow, 1).Value)
lngColumn = 2
If intWert > 0 Then
' Hier wird die Zeile X ausgegeben bis keine Wert in dieser Zeile gefunden wird
Do Until IsEmpty(wksQT.Cells(lngRow, lngColumn))
' Zelle von der Quelle koppieren
wksQT.Cells(lngRow + 1, lngColumn).Copy
' Zelle in das Ziel ausgeben
wksZT.Cells(lngRow + 1, lngColumn).Insert
' Erhöhen von Spalte um den nächsten Wert der Zeile zu bekommen
lngColumn = lngColumn + 1
Loop
End If
Next lngRow
Application.ScreenUpdating = True
End 

Sub

Anzeige
AW: Übertragen von Tabelle zu Tabelle
12.03.2008 21:25:24
Tabelle
Hi,
so 100%ig habe ich Deinen Code noch nicht verstanden, aber ich denke da fehlt ein +1 und zwar da:
Do Until IsEmpty(wksQT.Cells(lngRow + 1, lngColumn))
so klappt es jedenfalls bei mir.
Alternative: Scheibe in QT.xls in die Felder D1 und E1 auch was rein. Dann läuft Dein Code ohne die +1 richtig.
Da jedenfalls ist der "Hund begraben".
Klappt es?
Gruß
Uwe
(:o)

AW: Übertragen von Tabelle zu Tabelle
13.03.2008 08:17:15
Tabelle
Es klappt! =)
Danke Uwe...
Also wollte erstmal eine Übertragung "Zellenweise" machen und das dann für die ganze Tabelle.
Jetzt wäre meine Erweiterung, dass das Makro abprüft ob in der Zieldatei (ZT) in der Spalte A2 das steht was in Spalte A2 von der Quelldatei (QT).
Also soll überprüfen ob der Name gleich ist und dann erst die Werte eintragen! Sonst soll er weiter bis er den Eintrag in der Spalte A findet.
So will ich es noch ausbauen!
Kleinen Tip? ^^
Danke
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige