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

Schleife für Code gesucht

Schleife für Code gesucht
29.09.2002 13:30:19
Jens
einen schönen Sonntag wünsche ich allen im Forum.
Ich suche eine Idee wie man den nachfolgenden Code vereinfachen kann, da immer die selben Schritte ausgeführt werden. eine kurze Erklärung: in der TB "speicher" werden immer die Werte aus 5 hintereinanderliegenden Spalten kopiert und in TB "1" in die nächste Zeile in Spalte1 bis 5 kopiert, weiter mit den nächste 5 spalten der ausgewählten Zeile aus TB "Speicher" ....
Kann mir jemand helfen den Code über eine Schleife zu Programmieren? Die Werte aus TB "Speicher" sollen bis zur letzten gefüllten Zelle in der ausgewählten Zeile kopiert werden. Es sind aber auch Zellen ohne Wert vorhanden, so das im Code 5 leere aufeinanderfolgende Zellen das Zeichen für das Ende des kopieren sein müsste

Application.ScreenUpdating = False
Sheets("Speicher").Range("A2:E2").Copy
Sheets("Tabelle1").Range("A2").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("F2:J2").Copy
Sheets("Tabelle1").Range("A3").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("K2:O2").Copy
Sheets("Tabelle1").Range("A4").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("P2:T2").Copy
Sheets("Tabelle1").Range("A5").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("U2:Y2").Copy
Sheets("Tabelle1").Range("A6").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("Z2:AD2").Copy
Sheets("Tabelle1").Range("A7").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("AE2:AI2").Copy
Zellen_verbinden_aufheben
Sheets("Tabelle1").Range("A8:E8").Copy
Sheets("Tabelle1").Range("A8").PasteSpecial Paste:=xlValues, Operation:=xlNone
Zellen_verbinden
Sheets("Speicher").Range("AJ2:AN2").Copy
Sheets("Tabelle1").Range("A9").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("AO2:AS2").Copy
Sheets("Tabelle1").Range("A10").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("AT2:AX2").Copy
Sheets("Tabelle1").Range("A11").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("AY2:BC2").Copy
Sheets("Tabelle1").Range("A12").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("BD2:BH2").Copy
Sheets("Tabelle1").Range("A13").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("BI2:BM2").Copy
Sheets("Tabelle1").Range("A14").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("BN2:BR2").Copy
Sheets("Tabelle1").Range("A15").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("BS2:BW2").Copy
Sheets("Tabelle1").Range("A16").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("BX2:CB2").Copy
Sheets("Tabelle1").Range("A17").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("CC2:CG2").Copy
Sheets("Tabelle1").Range("A18").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("CH2:CL2").Copy
Sheets("Tabelle1").Range("A19").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("CM2:CQ2").Copy
Sheets("Tabelle1").Range("A20").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("CR2:CV2").Copy
Sheets("Tabelle1").Range("A21").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("CW2:DA2").Copy
Sheets("Tabelle1").Range("A22").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("DB2:DF2").Copy
Sheets("Tabelle1").Range("A23").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("DG2:DK2").Copy
Sheets("Tabelle1").Range("A24").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("DL2:DP2").Copy
Sheets("Tabelle1").Range("A25").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("DQ2:DU2").Copy
Sheets("Tabelle1").Range("A26").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("DV2:DZ2").Copy
Sheets("Tabelle1").Range("A27").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("EA2:EE2").Copy
Sheets("Tabelle1").Range("A28").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("EF2:EJ2").Copy
Sheets("Tabelle1").Range("A29").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("EK2:EO2").Copy
Sheets("Tabelle1").Range("A30").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("EP2:ET2").Copy
Sheets("Tabelle1").Range("A31").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("EU2:EY2").Copy
Sheets("Tabelle1").Range("A32").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Range("EZ2:FD2").Copy
Sheets("Tabelle1").Range("A33").PasteSpecial Paste:=xlValues, Operation:=xlNone
Sheets("Speicher").Application.CutCopyMode = False
Sheets("Tabelle1").Range("A8").Select
Application.ScreenUpdating = True

End Sub

Ich bin Dankbar für jede Hilfe Jens

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

Betreff
Datum
Anwender
Anzeige
Re: Schleife für Code gesucht
29.09.2002 14:48:14
andre
Hallo Jens,
im Prinzip so:
Public Sub test()
For i = 5 To 15 Step 5
ThisWorkbook.Sheets("Speicher").Range(Cells(2, i - 4), Cells(2, i)).Copy
ThisWorkbook.Sheets("Tabelle1").Range("A" & i / 5 + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone
Next
End Sub
Die Schleife solange durchlaufen bis Deine letzte Spalte dabei ist.
Das mit den Zellen verbinden usw. kannst Du mit
If i= xxx then verbinden
in der Schleife verarbeiten.
gruss andre
Re: Schleife für Code gesucht
29.09.2002 15:01:35
Jens
Hallo Andre
Danke für deine Mühe. Ich habe den Code in ein Modul gespeichert, aber ich bekomme beim Ausführen "Laufzeitfehler 1004 Anwendungs oder objektspezifischer Fehler"

Kannst du nochmal helfen?

Anzeige
nicht als modul
29.09.2002 15:24:23
PeterP
sondern in die jeweilige arbeitsmappe
Re: nicht als modul
29.09.2002 17:32:00
andre
Hallo Jens,
falls der Tip von Peter nicht reicht müsstest Du mir mal den code senden oder zumindest ein paar Zeilen um die Stelle herum,wo der Fehler auftritt. Ist es vielleicht bei den Verbindungen? Der code von mir lief in einem normalen Modul, nur die eine Mappe war geöffnet.
gruss andre

Re: nicht als modul
29.09.2002 20:02:11
Jens
Hallo Andre
Der Tip von Peter hat mich leider auch nicht weiter gebracht.
Ich habe versucht den Code in Modul und In TB zu speichern aber der Fehler tritt immer noch auf.Die Fehlermeldung erfolgt in Zeile 2.
Kannst du mir vieleicht nochmal kurz erklärungen zu den einzelnen Zeilen geben, damit ich sie besser verstehen kann und den Fehler selbst ausmachen kann. Muß nicht auch noch die Variable "I" irgendwo definiert werden?

ThisWorkbook.Sheets("Speicher").Range(Cells(2, i - 4), Cells(2, i)).Copy

Danke Jens

Anzeige
Re: nicht als modul
29.09.2002 20:10:25
andre
Hallo Jens,
wenn bei Dir oben Option Explicit steht musst Du das i definieren, gleich unter Sub...
Dim i%
Ansonsten ist doch der code in derselben Mappe wie das Blatt Speicher oder?

gruss andre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige