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

Spalten kopieren

Spalten kopieren
20.11.2006 13:35:37
Ryu_Hoshi
Hallo,
Ich versuche einen Macro zu machen der mir aus einer Datei alle Spalten mit bestimmten Eintrag in eine andere Datei kopiert. Leider wird nichts in die andere Datei kopiert. Hat jemand eine Idee warum?

Sub xx2()
Dim I&, X&, LZ1&, LS1&, LZ2&, LS2&
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Set Ws1 = Workbooks("Top 5 all Sections - Oktober 06.xls").Sheets("5 Surface")
LZ1 = Ws1.Range("A15000").End(xlUp).Row
LS1 = Ws1.Cells(1, Columns.Count).End(xlToLeft).Column
I = 2
'Zieldatei aufmachen
Workbooks.Open "C:\Test\Master.xls"
Sheets("Test").Select
Set Ws2 = Workbooks("Master.xls").Sheets("Test")
LZ2 = Ws2.Range("A15000").End(xlUp).Row
LS2 = Ws2.Cells(1, Columns.Count).End(xlToLeft).Column
X = LZ2 + 1
Do While I < LZ1
If Ws1.Cells(I, 10) = "STB" Then
Rows(I).Select
Application.CutCopyMode = False
Selection.Cut
Ws2.Activate
Rows(X).Select
ActiveSheet.Paste
End If
I = I + 1
Loop
Set Ws1 = Nothing
Set Ws2 = Nothing
End Sub

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten kopieren
20.11.2006 14:01:05
Fritz
hallo Ryu,
Ws1 und Ws2 sind Worksheetobjekte und keine Workkbook-Objekte
z.B. Set Ws1 = ActiveWorkbook.ActiveSheet setzt Ws1 auf das aktuelle Sheet des activen Workbooks.
Gruß Fritz
AW: Spalten kopieren
20.11.2006 14:15:25
Ryu_Hoshi
Hallo Fritz,
wo ist der Unterschied zwischen
"Set Ws1 = ActiveWorkbook.ActiveSheet"
und
"Set Ws1 = Workbooks("Top 5 all Sections - Oktober 06.xls").Sheets("5 Surface")"?
Ich lege bei beiden fest, dass Ws1 ein bestimmtes Worksheet in bestimmten Workbook sein soll.
Liegt das Problem darin dass Ws1 und Ws2 nicht richtig definiert sind? Ich weiss nur dass das Makro durchläuft, aber ausser aufmachen der Datei nichts passiert obwohl Einträge zum kopieren vorhanden sind.
Heisst es eigentlich:
"If Ws1.Cells(I, 10) = "STB" Then"
oder
"If Ws1.Cells(I, 10).Value = "STB" Then"
Anzeige
AW: Spalten kopieren
20.11.2006 14:16:27
Hugo
Hallo Fritz,
"Ws1 und Ws2 sind Worksheetobjekte und keine Workkbook-Objekte"
Den Variablen wird doch auch ein Sheet und kein Workbook zugewiesen.
Daran kann es also nicht liegen.
Der Fehler dürfte hier liegen:
Do While I 

Gruß Hugo
X bleibt im Do Loop immer gleich (ot)
20.11.2006 14:18:16
Hugo
AW: X bleibt im Do Loop immer gleich
20.11.2006 14:29:24
Ryu_Hoshi
Hallo Hugo,
mir ist mittlerweile auch aufgefallen, dass das x gleich bleibt. Danke für den Hinweis. Ich habe es korrigiert. Auch "Rows(I).Select" ist angepasst.
"X" soll die Spalte in der Zieldatei festlegen wo die Zeile aus der Quelldatei kopiert wird.
Aktueller sieht die Schleife wie folgt aus:
Do While I &lt LZ1
If Ws1.Cells(I, 10).Value = "STG" Then
Ws1.Rows(I).Select
Application.CutCopyMode = False
Selection.Cut
Ws2.Activate
Rows(X).Select
ActiveSheet.Paste
X = X + 1
End If
I = I + 1
Loop
Anzeige
AW: X bleibt im Do Loop immer gleich
20.11.2006 14:52:53
Ryu_Hoshi
Hallo,
das Problem ist nach wie vor offen. Das Makro kopiert noch immer nichts und ich weiss nicht warum. Ich bin für jede Idee dankbar.
Gruss
Ryu
AW: X bleibt im Do Loop immer gleich
20.11.2006 20:34:12
Stefan
Hallo Ryu,
Ersetze Rows(X).Select mit Ws2.Rows(X).Select, oder auch ActiveSheet.Rows(X).Select.
Schoene Gruesse
Stefan
AW: X bleibt im Do Loop immer gleich
21.11.2006 14:59:14
Ryu_Hoshi
Hallo Stefan,
es hilft leider noch immer nicht. Er kopiert noch immer nichts. Ich habe das Gefühl dass er "STG" nicht findet obwohl es da steht. Ich habe eine Beispieldatei hochgeladen. Vielleicht fällt jemanden damit auf warum es nicht geht...
https://www.herber.de/bbs/user/38371.xls
Anzeige
AW: X bleibt im Do Loop immer gleich
21.11.2006 16:28:57
Reinhard
Hi Ryu,
und welcher aktuelle Code klappt nun nicht?
Gruß
Reinhard
dieser Code
21.11.2006 16:58:28
Ryu_Hoshi
Hallo Reinhard,
mein Code sieht so aus:

Sub xx2()
Dim I&, X&, LZ1&, LS1&, LZ2&, LS2&
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
'Festlegen der Quelldatei
Set Ws1 = Workbooks("Top 5 all Sections - Oktober 06.xls").Sheets("5 Surface")
LZ1 = Ws1.Range("A15000").End(xlUp).Row
LS1 = Ws1.Cells(1, Columns.Count).End(xlToLeft).Column
I = 2
'Zieldatei aufmachen
Workbooks.Open "C:\Test\Master.xls"
Sheets("Test").Select
Set Ws2 = Workbooks("Master.xls").Sheets("Test")
LZ2 = Ws2.Range("A15000").End(xlUp).Row '65536 ist hier nicht nötig
LS2 = Ws2.Cells(1, Columns.Count).End(xlToLeft).Column
X = LZ2 + 1
Do While I < LZ1
If Ws1.Cells(I, 10).Value = "STG" Then
Ws1.Rows(I).Select
Application.CutCopyMode = False
Selection.Cut
Ws2.Activate
Rows(X).Select
ActiveSheet.Paste
X = X + 1
End If
I = I + 1
Loop
End Sub

Mir scheint dass der Code "STG" in Zeile J nicht findet obwohl es da steht und ich habe bisher keine Ahnung warum...
Anzeige
AW: doppelt m.T
21.11.2006 16:54:20
Ryu_Hoshi
Hallo Reinhard,
Sorry fürs doppelpost, aber ich habe ein neues Beitrag aufgemacht als längere Zeit niemand geantwortet hat. Ich weiss dass es nicht besonders "beliebt" ist. Dafür habe ich zumindest vermieden, dasselbe Thema in einem anderen Forum zu beginnen. Das Problem besteht nach wie vor und ich bin für jede Hilfe dankbar (egal in welchen Beitrag auch immer).
AW: doppelt m.T
21.11.2006 17:02:52
Reinhard
Hi Ryu,
danke dass du kein Crossposting gemacht hast sondern nur ein Doppelposting *grien*
z.B. Stefaan wäre begeistert gewesen wenn er sich hier in diesem Thread noch abmüht, während im anderen Thread höchstwahrscheinlich jetzt der Fehler entdeckt/gelöst wurde.
Beende bitte diesen Thread hier mit Hinweis auf den Link der neuen Anfrage bzw. wenn gelöst mit der Lösung, dann haben Nachfolger von dir eine Chance die Lösung zu sehen.
Gruß
Reinhard
Anzeige
AW: doppelt m.T
21.11.2006 23:02:18
Stefan
Hallo Reinhard,
Danke fuer den Hinweis!
Schoene Gruesse
Stefan
AW: doppelt m.T
22.11.2006 14:23:26
Ryu_Hoshi
Hallo Reinhard,
Ja ich kann das gut verstehen. Hätte ich in dem anderen Beitrag bereits eine Lösung erhalten, hätte ich dies hier mitgeteilt.
Bitte nicht weitersuchen. Der Code läuft (bis auf Screen updating, ist aber nicht schlimm). Den fertigen Code findet ihr hier:
https://www.herber.de/forum/messages/822276.html
AW: doppelt m.T
23.11.2006 22:02:20
Reinhard
Hi ryu,
nimm mal
Application.Screenupdating=False
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: doppelt m.T
22.11.2006 09:36:07
Fritz
In der Spalte J sind hinter dem STG Leerzeichen.
deshalb keine aktion
Gruß
Fritz
AW: doppelt m.T
22.11.2006 09:36:28
Fritz
In der Spalte J sind hinter dem STG Leerzeichen.
deshalb keine aktion
Gruß
Fritz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige