Anzeige
Archiv - Navigation
1276to1280
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

Schleife For i = 2 to ?

Schleife For i = 2 to ?
Jonas
Hallo zusammen,
versuche gerade meine erste Schleife zu programmieren (s.u.). Eigentlich funktioniert sie super. Das einzige Problem ist mit "For i = 1 To 10". Habe schon gesucht. Die 10 muss eine Variable sein, sprich bis zur letzten gefüllten Zeile, soll der Befehl ausgeführt werden.
Jegliche Versuche mit z. B. ".end(xlUp)" sind gescheitert...
If opt_Gesamt = True Then
Dim i As Integer
For i = 1 To 10
Sheets("Filialen").Cells(i, 1).Copy
Sheets("TE").Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("TE").PrintOut Copies:=txt_Anzahl2
Next i
End If
Vielen Dank für die Hilfe
Jonas

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

Betreff
Benutzer
Anzeige
AW: Schleife For i = 2 to ?
28.08.2012 12:12:54
Martin
Hallo Jonas,
ich verstehe deinen Code nicht ganz, weil du jede einzelne Zelle in das Tabellenblatt "TE" in die Zelle "B4" kopierst.
Probiere mal, ob es so geht:
Sub test()
Dim i As Integer
If opt_Gesamt = True Then
i = 1
Do Until Sheets("Filialen").Cells(i, 1) = Empty
Sheets("Filialen").Cells(i, 1).Copy
Sheets("TE").Range("B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,  _
SkipBlanks:=False, Transpose:=False
Worksheets("TE").PrintOut Copies:=txt_Anzahl2
i = i + 1
Loop
End If
End Sub
Viele Grüße
Martin

Wer lesen kann ist klar im Vorteil ;-)
28.08.2012 12:30:47
Martin
Hallo Jonas,
natürlich ergibt dein Code Sinn, wenn du entsprechend nach jeder Eintragung die Seite druckst. Ich hatte irgendwie den Druckbefehl überlesen. Und, funktioniert mein Code wie gewünscht?
Viele Grüße
Martin

Anzeige
AW: Schleife For i = 2 to ?
28.08.2012 13:27:53
Dominik
Hallo Jonas
Was du suchst ist wohl:
FinalRow = Worksheets("Filialen").Cells(Rows.Count, 1).End(xlUp).Row
Dann passt es mit
For i = 1 to FinalRow
Gruss Dominik

AW: Schleife For i = 2 to ?
28.08.2012 13:31:24
Jonas
Hallo zusammen,
stimmt. Es ist quasi wie ein Serienbrief. Die Schleife funktioniert wunderbar. Vielen Dank.
@Dominik: Habe es nicht ausprobiert. Wenn es funzt, wäre das auch perfekt.
Jetzt bastell ich gerade an der Verfeinerung. Evtl. kommen da nochmal fragen auf :-)
Gruß
Jonas

AW: Schleife For i = 2 to ?
28.08.2012 14:12:23
Jonas
Die Erweiterung klappt leider nicht. Es soll die Möglichkeit geben (durch ein Formular) alle Zeilen zu drucken oder nur ein bestimmter Filialkreis.
Jetzt versuche ich die Option, dass nur ausgewählte Zellen in der Schleife gedruckt werden. Diese sind durch ein "x" in Spalte 6 (Variable zu i) gekennzeichnet. Die Anzahl der Kopien sind in Spalte 7 (auch Variable zu i) gekennzeichnet.
Mein Versuch:
If opt_FK1.Value = True And Not IsEmpty(Cells(i, 6)) Then
i = 2
Do Until Sheets("Filialen").Cells(i, 1) = Empty
Sheets("Filialen").Cells(i, 1).Copy
Sheets("TE").Range("B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Worksheets("TE").PrintOut Copies:=Cells(i, 7)
i = i + 1
Loop
End If
Wäre toll, wenn ihr hier auch noch eine Antwort habt.
VIELEN DANK!

Anzeige
AW: Schleife For i = 2 to ?
28.08.2012 14:43:00
Jonas
Frage noch offen!

AW: Schleife For i = 2 to ?
28.08.2012 15:07:16
Martin
Hallo Jonas,
auf den ersten Blick sehe ich keinen Fehler. Allerdings läuft der Code nur fehlerfrei, wenn das Tabellenblatt "Filialen" akitv ist. Probiere mal den folgenden Code, bei dem es egal ist auf welchem Tabellenblatt du dich befindest:
Dim i As Integer
With Sheets("Filialen")
If opt_FK1.Value = True And Not IsEmpty(.Cells(i, 6)) Then
i = 2
Do Until .Cells(i, 1) = Empty
.Cells(i, 1).Copy
Sheets("TE").Range("B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Worksheets("TE").PrintOut Copies:=.Cells(i, 7)
i = i + 1
Loop
End If
End With
Viele Grüße
Martin

Anzeige
Logikfehler!?
28.08.2012 15:14:34
Rudi
Hallo,
es soll doch nur gedruckt werden, wenn Cells(i,6)="x" ist.
  Dim i As Integer
If opt_FK1.Value Then
With Sheets("Filialen")
i = 2
Do Until .Cells(i, 1) = Empty
If .Cells(i, 6) = "x" Then
.Cells(i, 1).Copy
Sheets("TE").Range("B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Worksheets("TE").PrintOut Copies:=.Cells(i, 7)
End If
i = i + 1
Loop
End With
End If

Gruß
Rudi

AW: Logikfehler!?
28.08.2012 15:37:30
Jonas
Hallo Rudi,
deine Antwort passt. Auch dein Hinweis (Martin) war super. Vielen Dank Euch beiden...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige