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

Makros zusammenführen???

Makros zusammenführen???
05.02.2004 08:48:22
Marc
Guten Morgen Leute,
ich habe gerade zwei Makros geschrieben und nun die Fage an alle Profis hier.
Kann ich aus diesen zwei Makros einen machen????
Das eine Makro ist dafür das ich mehrere Tabellen mit einem klick drucken kann,
und das zweite ist dafür das alle leeren Zeile gelöscht werden.
Ich möchte nun das wenn ich alle Tabellen (per ein Klick) ausdrucke, das vorher
automatisch alle leeren Zeilen gelöscht werden.
Hat jemand eine Lösung??? Ich kann auch die beiden Makros mal laden wenn erwünscht.
Danke Euch

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

Betreff
Datum
Anwender
Anzeige
AW: Makros zusammenführen???
05.02.2004 08:52:36
Galenzo
Hallo Marc,
ruf doch in dem "Drucken"-Makro das "ZeilenLöschen"-Makro auf.
Hier mal ein Beispiel:

Sub Löschen()
End Sub



Sub Drucken()
Löschen
End Sub

Du kannst also aus einem Makro ein anderes aufrufen lassen.
mfg
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

Anzeige
AW: Makros zusammenführen???
05.02.2004 09:09:50
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

Anzeige
AW: Makros zusammenführen???
05.02.2004 10:05:08
Galenzo
Deinem Code Kann ich leider nicht den Namen der

Sub für das ZeilenAusblenden entnehmen, daher lege ich mal fest:

Sub ZeilenAusblenden()
Sheets("NAME......
...........reenUpdating = True
ActiveSheet.Protect ("erfolg")
End Sub



Sub Seite_drucken()
Dim antwort As Integer
antwort = MsgBox("Diese Seite drucken ?", vbYesNo + vbQuestion, "Ausdruck")
If antwort = vbNo Then Exit Sub
ZeilenAusblenden
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

Ich habe dich so verstanden, daß das ZeilenAusblenden vor dem Drucken erfolgen soll.
Also schreibst du den Aufruf dafür in die vorletzte Zeile - also eben VOR dem Drucken.
mfg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige