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

Ohne Inhalt kein Ausdruck

Ohne Inhalt kein Ausdruck
21.05.2007 20:12:00
Roger
Hallo Zusammen,
dieses Makro wurde von Franz / Andre erarbeitet. Es funktioniert wunderbar!!

Private Sub CommandButton1_Click()
Dim wks As Worksheet, i%, Anzahl%, Anzahl2%, strhiddenrows As String
Set wks = ActiveSheet
Application.ScreenUpdating = False
With wks
.Cells.PageBreak = xlPageBreakNone
.Cells(60, 1).PageBreak = xlPageBreakManual
For i = 9 To .Cells(.Rows.Count, 1).End(xlUp).Row
''' Hier ;O)
If Application.WorksheetFunction.CountA(.Range(.Cells(i, 1), .Cells(i, 3))) = 1 Then
strhiddenrows = strhiddenrows & i & ":" & i & ","
Anzahl2% = Anzahl2% + 1
If Len(strhiddenrows) > 244 Then 'max 255 Zeichen möglich
strhiddenrows = Left(strhiddenrows, Len(strhiddenrows) - 1)
.Range(strhiddenrows).EntireRow.Hidden = True
strhiddenrows = ""
Anzahl2% = 0
End If
Else
Anzahl% = Anzahl% + 1
If Anzahl = 59 Then
.Cells(i + 1, 1).PageBreak = xlPageBreakManual
Anzahl = 0
End If
End If
Next
If strhiddenrows  "" Then
strhiddenrows = Left(strhiddenrows, Len(strhiddenrows) - 1)
.Range(strhiddenrows).EntireRow.Hidden = True
End If
End With
End Sub


Möchte nun aber noch folgendes ergänzen:
Wenn in den Spalten B und C von der Zeile 9 ab nichts steht, bringt auch der Ausdruck auf dem Drucker nichts.
Deshalb wollte ich an dieser Stelle (''' Hier ;O) folgendes einfügen:
If Application.WorksheetFunction.CountA(.Range(.Cells(i, 2), .Cells(i, 3))) = 0 Then Exit Sub
Das funktioniert auch jedoch nur wenn eine 0 steht. Bei "" kommt die Meldung nicht verfügbar.
Meine Frage nun was muss ich schreiben das es 100% geht und wie füge ich noch eine MSGBox ein bevor der Code beendet wird mit dem Inhalt"Keine Daten vorhanden"?
Weiss hier jemand weiter?
Gruss roger

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ohne Inhalt kein Ausdruck
21.05.2007 20:33:11
Thomas
Range("A1").select
If Activecell.value "" then
[DRUCKEN]
else
[NICHT DRUCKEN]
End if
MsgBox ("Keine Daten vorhanden")
end sub
- Vielleicht hilft dir das weiter...

@ fcs / Schauan
21.05.2007 21:16:03
Roger
Hallo Thomas,
ich probier es einmal aus Danke.
Aber würde es auch mit meiner Variante gehen?
GRuss Roger

AW: @ fcs / Schauan
21.05.2007 21:38:00
fcs
Hallo Roger,
eine der beiden nachfolgenden Varianten je nachdem was in den Spalten B oder C stehn kann

'wenn die Spalten B und C verschieden von Leerstrings sein sollen dann
If Not (.Cells(i, 2).Value  "" And .Cells(i, 3).Value  "") Then
MsgBox "In Spalte B und C stehen keine Daten! Druck wird abgebrochen."
Exit Sub
End If
'wenn die Spalten B und C stehen verschieden von nichts sein sollen
If Application.WorksheetFunction.CountA(.Range(.Cells(i, 2), .Cells(i, 3))) = 0 Then
MsgBox "In Spalte B und C stehen keine Daten! Druck wird abgebrochen."
Exit Sub
End If


Gruß
Gruß
Franz

Anzeige
AW: @ fcs / Schauan
21.05.2007 22:07:10
Roger
Hallo Franz,
schön das Du Dich noch einmal meldest. Ich habe beide Varianten von Dir ausgetestet.
Auf die zweite Variante von Dir bin ich auch selber gekommen, deshalb bin ich etwas stolz auf mich ;O)
Aber das Problem ist das der Code bei beiden Varianten nicht weiterläuft wenn die Zellen beschrieben sind.
Ich setze Dein Teilcode bei meiner Markierung " ''' Hier ;O) " in der ersten Anfrage gepostet ein.
Woanderst geht ja nicht.
Was ist falsch?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige