AW: Listbox ohne Leerzeilen
27.02.2013 08:31:21
Klaus
Hi,
OT vorweg: dein Druckmakro könnte man etwas eindampfen:
Sub Druck1()
Call DruckEs(xlPaperA4, "$DH$78:$EG$147", xlPortrait, 1, 1, True, False) 'Druck 1
End Sub
Sub druck2()
Call DruckEs(xlPaperA4, "$EK$78:$FJ$147", xlPortrait, 1, 1, True, True) 'Druck 2
End Sub
Sub druck3()
Call DruckEs(xlPaperA3, "$A$1:$CQ$41", xlLandscape, 2, 1, False, True) 'Druck 3
End Sub
Sub Druck4()
Call DruckEs(xlPaperA4, "$A$1:$P$60", xlPortrait, 1, 1, False, False) 'Druck 4
End Sub
Sub DruckEs(sPaperSize As String, sPrintArea As String, sOrientation As String, iFitWide As _
Integer, iFitTall As Integer, bUnhideCol As Boolean, bCenter As Boolean)
With ActiveSheet.PageSetup
.PaperSize = sPaperSize
.PrintArea = sPrintArea
.Orientation = sOrientation
.Zoom = False
.FitToPagesWide = iFitWide
.FitToPagesTall = iFitTall
.CenterHorizontally = bCenter
.CenterVertically = bCenter
End With
With ActiveSheet
.Columns("DD:FM").Hidden = Not bUnhideCol
.PrintPreview
.Columns("DD:FM").Hidden = True
End With
End Sub
damit bist du etwas flexibler, wenn sich mal was ändern sollte (ein Druckbereich zum Beispiel). Musst nicht jedesmal in den Makros suchen, wo genau das nun steht.
Zum Thema:
Private Sub Worksheet_Activate()
ActiveSheet.Protect userinterfaceonly:=True, Password:="adelholzner"
ActiveSheet.EnableOutlining = True
ActiveSheet.EnableAutoFilter = True
"Hier hab ich es mit Call FillListBoxIgnoreBlanks probiert"
End Sub
Ist da prinzipiell auch genau richtig! Ich -vermute- jetzt mal, dass die Listboxen auf den Tabellenblättern nicht alle "ListBox1" heissen. Das bedeutet, man müsste das FillListBox Makro umschreiben so dass es sich jeweils die ListBox auf dem Tabellenblatt holt.
Aus dem Ärmel kann ich das nicht!
Workaround (leider unsauber!):
kopiere das ListBoxFillMakro in den Code JEDES Tabellenblattes (nennst du dann ListBoxFill1 bis ListBoxFill99).
Schaue dir in jedem Tabellenblatt an, wie die ListBox genau heisst.
Schreibe in das Fill-Makro jeweils statt "ListBox1" den richtigen Namen.
Grüße,
Klaus M.vdT.