AW: Makros zusammenführen???
05.02.2004 09:09:40
Marc
Hallo Galenzo,
hab ich schon probiert, aber warscheinlich an der falschen Stelle.
Hier mal meine Makros...
ZEILEN AUSBLENDEN:
Sheets("NAME DES BLATTES").Activate
antwort = MsgBox("Sollen jetzt die 'überschüssigen Zeilen ausgeblendet werden ?" & vbNewLine & _
"" & vbNewLine & _
"Bitte beachten Sie:" & vbNewLine & _
"damit die Zeilen ausgeblendet werden können, darf kein Text in Spalte H stehen" & vbNewLine & _
"" & vbNewLine & _
"Es wird jeweils eine Leerzeile zwischen den einzelnen Posten(gruppen) belassen" & vbNewLine & _
"" & vbNewLine & _
"Sie können mit 'alle Zeilen einblenden' alles wieder sichtbar machen" & vbNewLine & _
"" & vbNewLine & _
"In der Zeile dürfen keine Zahlen mehr eingetragen sein, da die Zeile" & vbNewLine & _
"nur ausgeblendet und nicht gelöscht wird - Excel rechnet also weiterhin" & vbNewLine & _
"mit den Werten, die eventuell in dieser Zeile verbleiben" & vbNewLine & _
"" & vbNewLine & _
"Diese Funktion kann (je nach Rechner) etwas Zeit in Anspruch nehmen", vbYesNo + vbQuestion, "Ja/Nein-Abfrage")
If antwort = vbNo Then
Exit Sub
End If
ActiveSheet.Unprotect ("erfolg")
' Sehr wichtig für Zeile 0
' die Zeilen 14 bis 1000
On Error Resume Next
i = STARTZEILE
Application.ScreenUpdating = False
With Worksheets(BLATT)
Do While i < .Cells(MAX, SUCHSPALTE).End(xlUp).Row
If (i >= 14 And i <= 1000) Then
If .Cells(i, SUCHSPALTE).Value = "" And .Cells(i, SUCHSPALTE).Value = "" Then
Rows(i).EntireRow.Hidden = True
End If
End If
i = i + 1
Loop
End With
Application.ScreenUpdating = True
ActiveSheet.Protect ("erfolg")
End Sub
KOMPLETTAUSDRUCK:
Option Explicit
Option Private Module
Const STATUSZELLE = "E26"
Sub Komplettausdruck()
Dim antwort As Integer
' der Ausdruck wird in umgekehrter Reihenfolge vorgenommen, damit
' im Drucker nachher das zuletzt gedruckte Blatt das der Reihenfolge nach erste ist
antwort = MsgBox("Alle Seiten der NAME DES BLATTES drucken?", vbYesNo + vbQuestion, "NAME DES BLATTES ")
If antwort = vbNo Then
Exit Sub
End If
Sheets("NAME DES BLATTES ").Activate
Range(STATUSZELLE).Value = "Bitte warten Sie, der Komplettausdruck läuft ..."
Application.ScreenUpdating = False
Sheets("NAME DES BLATTES ").PrintOut Copies:=1
Sheets("NAME DES BLATTES ").PrintOut Copies:=1
Sheets("NAME DES BLATTES ").PrintOut Copies:=1
Range(STATUSZELLE).Value = vbNullString
Application.ScreenUpdating = True
End Sub
Sub Seite_drucken()
Dim antwort As Integer
antwort = MsgBox("Diese Seite drucken ?", vbYesNo + vbQuestion, "Ausdruck")
If antwort = vbNo Then
Exit Sub
End If
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub