Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Frage zu Do While-Schleife

Forumthread: 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
Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige