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

bessere methode

bessere methode
06.02.2007 19:13:13
samsplanet
liebe gemeinde
nachfolgendes makro nutze ich um alle leeren zeilen einer tabelle vor dem drucken automatisch auszublenden. dazu erstelle ich in einer ausgeblendeten spalte eine wenn-funktion welche "1" wiedergibt, wenn die zeile voll, bzw. "0" wiedergibt, wenn die zeile leer ist.
das makro blendet alle zeilen mit einer leeren zelle in der entsprechenden spalte aus. leider habe ich etwas probleme mit der "ablaufgeschwindigkeit" des makros. hat jemand eine elegantere/schnellere lösung?
hier das makro

Sub Drucken()
ActiveSheet.unProtect Password:="xxx"
Rows.Hidden = False
Dim iRowL As Integer, iRow As Integer
iRowL = Cells(Rows.Count, 9).End(xlUp).Row
For iRow = 1 To iRowL
If IsEmpty(Cells(iRow, 9)) Or Cells(iRow, 9).Value = 0 Then
Rows(iRow).Hidden = True
End If
Next iRow
ActiveSheet.PrintPreview
ActiveSheet.Protect Password:="xxx"
ActiveWorkbook.Protect "xxx"
End Sub

danke und gruss

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bessere methode
06.02.2007 19:19:47
Jens
Hi,
Autofilter, nach nicht leeren zellen filtern.
mfg Jens
AW: bessere methode
06.02.2007 19:48:04
samsplanet
danke jens
autofilter wäre eine gute lösung. gibt es eine methode in der der autofilter unsichtbar gemacht werden kann und sich automatisch aktualisiert? bzw. in der man den autofilter per "button-druck" unsichtbar einsetze kann?
gruss
AW: bessere methode
06.02.2007 19:57:48
Jens
Hi,
filtern kannst du mit dem Makrorekorder aufzeichnen, da kommt dann etwas sowas raus:

Sub Schaltfläche1_BeiKlick()
Selection.AutoFilter Field:=7, Criteria1:="<>"
End Sub

das ergänzt du um ein Argument:

Sub Schaltfläche1_BeiKlick()
Selection.AutoFilter Field:=7, Criteria1:="<>", VisibleDropDown:=False
End Sub

mfg Jens
Anzeige
AW: bessere methode
06.02.2007 20:16:28
samsplanet
danke jens
das dürfte hinhauen... tatsächlich viel schneller und eleganter... ziel erreicht ;-)
gruss und danke
samsplanet
AW: bessere methode
06.02.2007 20:11:49
Daniel
Hallo
andere Mehode:
für alle Zeilen, die ausgeblendet werden sollen, schreibst du anstelle der 0 WAHR oder FALSCH in die Zelle, für Zeilen die sichbar bleiben sollen, bleibt die 1.
dann blendest du alle gewünschten Zellen mit diesem Befehl aus:
columns(9).specialcells(xlcelltypeformulas,4).entirerow.hidden = true
gibt allerdings ne Fehlermeldung, wenn keine Zellen zum Ausblenden gefunden werden. Wenn das vorkommen kann, sollte das mit
On error resume next
columns(9).specialcells(xlcelltypeformulas,4).entirerow.hidden = true
On error goto 0
oder sonst ner Prüfung abgefangen werden.
Gruß,Daniel
(ps. im Excel kann man die funktion mit BEARBEITEN - GEHE ZU INHALTE - FORMENL - WAHRHEITSWERTE nachstellen.
Anzeige
AW: bessere methode
06.02.2007 20:59:27
samsplanet
ich bin's noch einmal
warum funktioniert folgendes als makro zugewiesen zu einer schalfläche einwandfrei, nicht aber als code einer befehlsschaltfläche (commandbutton). bleibt bei Columns("L:L").Select hängen.
ActiveWorkbook.Unprotect Password:="xxx"
Sheets("HT_FuTa").Visible = True
Sheets("HT_FuTa").Select
ActiveSheet.Unprotect Password:="xxx"
Columns("L:L").Select
Selection.autofilter
Selection.autofilter Field:=1, Criteria1:=""
ActiveWindow.SelectedSheets.PrintPreview
ActiveSheet.Protect Password:="xxx"
Sheets("HT_FuTa").Visible = False
ActiveWorkbook.Protect Password:="xxx"
ratschläge? danke und gruss
samsplanet
Anzeige
AW: bessere methode
07.02.2007 15:56:37
Klaus
Hallo Samsplanet,
Auf einer "Befehlsschaltfläche" (Button) gelegt läuft der Code nicht, weil der Button beim drücken den Focus zieht.
Im Entwurfsmodus rechtsclick auf den Button, Eigenschaften, und TakeFocusOnClick auf FALSE setzen.
Alternative: Referenziere die Tabelle und verzichte auf SELECT.
Gruß,
Klaus M.vdT.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige