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

Frage zu Do While-Schleife

Frage zu Do While-Schleife
16.01.2005 11:21:56
Michael
Hallo,
ich bin neu beim VBA-Programmieren.
Ich möchte über ein Makro den Druckbereich definieren. Dabei soll es wenn in Spalte F (6) in Zeile z.B. 42 wenn das fünfte Mal "Ges.:" (je 1 x für Montag bis Freitag) in der Zelle steht, diese Zeile als Ende nehmen.
Hier der Code

Sub Schaltfläche6_BeiKlick()
Dim Count As Integer
Dim i As Integer
i = 0
For Count = 0 To 50
Do While i <= 4
If ActiveSheet.Cells(Count, 6).Value <> "Ges.:" Then
i = i + 1
Loop
ActiveSheet.PageSetup.PrintArea = "$A$1:$Z$" & Count
End Sub

Also Fehler kommt: Loop ohne Do
Wie lautet der Befehl um nach dem Druckbereich festlegen ins Druckermenü (Drucker Auswahl) zu kommen? Danke im Voraus.
Gruß
Michael

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

Betreff
Datum
Anwender
Anzeige
AW: Frage zu Do While-Schleife
Ramses
Hallo
da hast du ein wenig durcheinander gebracht :-)
Die erste Fehlermeldung kommt, weil kein "End If" nach deiner Abfrage steht.
Die zweite Fehlermeldung kommt, weil kein "Next Count" die Schleife neu aufbaut
Option Explicit

Sub test()
Dim Count As Integer
Dim i As Integer
Count = 1
For i = 1 To Range("F65536").End(xlUp).Row
If Cells(i, 6) = "Ges.:" Then
Count = Count + 1
End If
If Count = 4 Then Exit For
Next i
ActiveSheet.PageSetup.PrintArea = "$A$1:$Z$" & Count
MsgBox "Druckbereich bis Zeile " & Count
End Sub

Gruss Rainer
Anzeige
AW: Frage zu Do While-Schleife
Michael
Hallo Rainer,
danke für deine Hilfe. Der Code funktioniert, ich musste unten bei der Druckauswahl "i" statt "count" nehmen. Ich hab noch was anderes probiert. Folgendes: das Makro soll Zellen nur löschen können, die in Spalte 26 ... keinen Wert haben. Das funktioniert soweit. Ich möchte zusätzlich ausschließen dass die Zeilen 1-3 gelöscht werden können. Hast du eine Idee?
Hier der Code

Sub Zellenloeschen()
With ActiveSheet
.Unprotect Password:="abc"
.Protect UserInterfaceOnly:=True, Password:="abc"
If (IsEmpty(Cells(ActiveCell.Row, 6)) And IsEmpty(Cells(ActiveCell.Row, 2)) And IsEmpty(Cells(ActiveCell.Row, 26))) Then
ActiveCell.EntireRow.Delete
Else
MsgBox "Löschen nicht möglich!"
End If
End With
End Sub

Gruß
Michael
Anzeige
AW: Frage zu Do While-Schleife
Ramses
Hallo
du musst doch bloss abfragen ob die ActiveCell in der Zeile 1 bis 3 liegt
If ActiveCell.Row &lt 4 then
Gruss Rainer

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige