Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1132to1136
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

Zeilen variabel kopieren | Herbers Excel-Forum

Zeilen variabel kopieren
25.01.2010 13:36:15
Space

Hallo,
wie kann ich es realisieren, dass z.B.: Spalte 1 in der ersten Excel File kopiert wird und in einem zweiten Excel File in die Spalte ? (z.B.: 6) eingefügt wird?
Anbei ein kleines Beispiel, was ich vorhabe: https://www.herber.de/bbs/user/67465.xls
Vielen Dank für die Hilfe!
Gruß
Space

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen variabel kopieren
25.01.2010 13:40:40
Rudi Maintaire
Hallo,
klar geht das.
Workbooks("File1.xls").sheets(1).columns(1).copy
Workbooks("File2.xls").sheets(1).columns(6).insert
Gruß
Rudi
wenn es keinen Logischen Zusammenhang gibt...
25.01.2010 13:53:25
Tino
Hallo,
geht’s nur so.
Dim Bereich As Range
Dim oWB As Workbook, oWS As Worksheet
Dim A As Long
Set Bereich = Range("A2:K26")
Set oWB = Workbooks.Add(1)
Set oWS = oWB.Sheets(1)
For Each Bereich In Bereich.Columns
Select Case Bereich.Cells(1, 1).Column
Case 1: Bereich.Copy oWS.Cells(2, 6)
Case 2: Bereich.Copy oWS.Cells(2, 1)
Case 3: Bereich.Copy oWS.Cells(2, 4)
Case 4: Bereich.Copy oWS.Cells(2, 7)
Case 5: Bereich.Copy oWS.Cells(2, 5)
Case 6: Bereich.Copy oWS.Cells(2, 2)
Case 7: Bereich.Copy oWS.Cells(2, 3)
Case 8: Bereich.Copy oWS.Cells(2, 8)
Case 9: Bereich.Copy oWS.Cells(2, 11)
Case 10: Bereich.Copy oWS.Cells(2, 10)
Case 11: Bereich.Copy oWS.Cells(2, 9)
End Select
Next Bereich
Gruß Tino
Anzeige
VBA : Spalten versetzt kopieren
25.01.2010 14:23:51
NoNet
Hallo space,
so geht's :
Sub SpaltenVersetztKopieren()
Dim wsQuelle As Worksheet, wsZiel As Worksheet
Dim arrSpalte, lngS As Long, lngZ As Long
arrSpalte = Array(2, 6, 7, 3, 5, 1, 4, 8, 11, 10, 9) 'Hier die Reihenfolge angeben !
Set wsQuelle = ActiveSheet              'Aktuelles Blatt
Set wsZiel = Workbooks.Add.Sheets(1)    'Neue Mappe, erstes Blatt
'oder :
'Set wsZiel=workbooks("Zielmappe.xls").Sheets("Zielblatt") 'muss geöffnet sein !
For lngS = LBound(arrSpalte) To UBound(arrSpalte)
lngZ = lngZ + 1
wsQuelle.Range("A2:K26").Columns(arrSpalte(lngS)).Copy wsZiel.Cells(1, lngZ)
Next
End Sub
Gruß, NoNet
Anzeige
AW: VBA : Spalten versetzt kopieren
25.01.2010 15:56:27
Space
Hallo NoNet,
ich probiers gerade mal aus!
Gruß
Space
AW: Zeilen variabel kopieren
25.01.2010 15:52:22
Space
Hallo,
habe eure Tipps versucht zu beherzigen, bin aber nicht sehr schlau daraus geworden. Habe das Problem jetzt mit folgendem Code gelöst:
Private Sub CommandButton9_Click()
Dim wks As Worksheet
'Excel Datei Kundendaten.xls öffnen
Set wks = Workbooks.Open(Filename:= _
"H:-Pfad-\Datei.xls").Sheets(1)
'Benötigte Zellen kopieren und im Tabellenblatt "Kundenkontakte" einfügen
'Kopieren aus Kundendaten
With wks
.Range(.Cells(5, 9), .Cells(5, 9).End(xlDown)).Resize(, 1).Copy
Workbooks("Data Generator.xls").Sheets("Partner Kontakte").Range("C18").Insert
.Range(.Cells(5, 11), .Cells(5, 11).End(xlDown)).Resize(, 1).Copy
Workbooks("Data Generator.xls").Sheets("Partner Kontakte").Range("D18").Insert
.Range(.Cells(5, 7), .Cells(5, 7).End(xlDown)).Resize(, 1).Copy
Workbooks("Data Generator.xls").Sheets("Partner Kontakte").Range("E18").Insert
.Range(.Cells(5, 8), .Cells(5, 8).End(xlDown)).Resize(, 1).Copy
Workbooks("Data Generator.xls").Sheets("Partner Kontakte").Range("F18").Insert
End With
'Schließen der Kundendaten
wks.Parent.Close
End Sub
jetzt ergeben sich 2 Probleme:
1) es wir nur bis zur ersten leeren Zelle kopiert. Da die Liste aber immer mal wieder 1-2 leere Zellen hat, wird nicht die ganze Spalte sondern nur ein Teil kopiert ;(
2) es werden mal wieder alle Formatierungen übertragen
Bitte um Hilfe!
Gruß
Space
Anzeige
Alternative (ungetestet)
25.01.2010 16:08:09
NoNet
Hallo Space,
deine Lösung erwartet nun ja doch eine etwas andere Tabelle/Mappe als in deinem Beispiel gepostet - darauf waren allerdings die Lösungsvorschläge gemünzt !! Da gab es auch nicht viel zu kapieren, sondern nur zu kopieren (und einzufügen !).
Hier eine (ungetestete) Alternative zu Deinem Code (kombiniert mit meinem ersten Lösungsvorschlag) :
Sub SpaltenVersetztKopieren2()
Dim wsQuelle As Worksheet, wsZiel As Worksheet
Dim arrSpalteQ, arrSpalteZ, lngS As Long
arrSpalteQ = Array(9, 11, 7, 8) 'Hier die Spaltenreihenfolge der QUELLE angeben !
arrSpalteZ = Array(3, 4, 5, 6) 'Hier die Spaltenreihenfolge des ZIELS angeben !
Set wsQuelle = Workbooks.Open(Filename:="H:\Pfad\Datei.xls").Sheets(1)
Set wsZiel = Workbooks("Data Generator.xls").Sheets("Partner Kontakte") 'muss geöffnet sein
For lngS = LBound(arrSpalte) To UBound(arrSpalte)
wsQuelle.Range(wsQuelle.Cells(5, arrSpalteQ(lngS)), _
wsQuelle.Cells(5, arrSpalteQ(lngS)).End(xlDown)).Copy _
wsZiel.Cells(18, arrSpalteQ(lngS))
Next
End Sub
In den beiden ARRAY-Variablen werden lediglich die relevanten Spalten angegeben (3=Spalte C, 4=Spalte D etc.).
Gruß, NoNet
Anzeige
AW: Alternative (ungetestet)
25.01.2010 16:23:44
Space
Hallo NoNet,
deine Variante hatte ich bei meinem lezten Post noch nicht getestet. Habe Sie ausprobiert und es kommt schon ziemlich genau hin. Deinen letzten Code den du gepostest hast für denke ich perfekt auf mein Problem passen. Deshalb habe ich Ihn gleich angepasst und ausprobiert. Leider kommt Laufzeitfehler 13: Typen unverträglich an dieser Stelle:
For lngS = LBound(arrSpalte) To UBound(arrSpalte)
wsQuelle.Range(wsQuelle.Cells(5, arrSpalteQ(lngS)), _
wsQuelle.Cells(5, arrSpalteQ(lngS)).End(xlDown)).Copy _
wsZiel.Cells(18, arrSpalteQ(lngS))
Danke für deine super Vorschläge!
Gruß
Space
Anzeige
AW: Alternative (ungetestet)
25.01.2010 16:27:17
Space
Hallo NoNet,
habe den Fehler gefunden, hattest nur Q und Z bei den arrSpalten vergessen. Aber jetzt habe ich dasselbe Problem wie mit meinem Code. Er kopiert nicht alles sondern lediglich bis zur ersten Lücke .... Hat jemand da eine Idee??
Gruß
Space
AW: Alternative (ungetestet)
25.01.2010 16:46:48
Space
Hallo NoNet,
die Spaltenzuordnung (alt/neu) klappt mit dem Code leider doch nicht ;(!
Gruß
Space

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige