Anzeige
Archiv - Navigation
1248to1252
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
Inhaltsverzeichnis

Code anpassen mal wieder!

Code anpassen mal wieder!
Thomas
Hallo Excelfreunde,
ich habe mir hier aus dem Forum vor längerem mal einen Code heraus gespeichert man könnte ihn mal brauchen, was nun auch so ist.
Per Userform kann man die Tabellenblätter wählen die gedruckt werden sollen. Ich will nicht alle Blätter die in der Mappe sind angezeigt bekommen sonder nur bestimmte die ich im Code benennen gern würde.
Nur wo und wie das ist mein Problem.
Hier er Code:
Option Explicit
Private Sub cmdAll_Click()
Dim intIndex As Integer
With ListBox1
For intIndex = 0 To .ListCount - 1
.Selected(intIndex) = True
Next
End With
End Sub

Private Sub cmdCancel_Click()
Unload Me
End Sub

Private Sub cmdNone_Click()
Dim intIndex As Integer
With ListBox1
For intIndex = 0 To .ListCount - 1
.Selected(intIndex) = False
Next
End With
End Sub

Private Sub cmdPrint_Click()
Dim strSheets() As String
Dim intIndex As Integer, intN As Integer
With ListBox1
For intIndex = 0 To .ListCount - 1
If .Selected(intIndex) Then
ReDim Preserve strSheets(intN)
strSheets(intN) = .List(intIndex)
intN = intN + 1
End If
Next
End With
If intN > 0 Then
Me.Hide
ThisWorkbook.Sheets(strSheets).PrintPreview
Me.Show
End If
End Sub

Private Sub cmdToggle_Click()
Dim intIndex As Integer
With ListBox1
For intIndex = 0 To .ListCount - 1
.Selected(intIndex) = Not .Selected(intIndex)
Next
End With
End Sub

Private Sub UserForm_Initialize()
Dim intIndex As Integer
For intIndex = 1 To ThisWorkbook.Worksheets.Count
ListBox1.AddItem ThisWorkbook.Worksheets(intIndex).Name
Next
End Sub
Gruß Thomas aus Stuttgart

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

Betreff
Benutzer
Anzeige
AW: Code anpassen mal wieder!
20.02.2012 15:44:40
Mark
Hallo Thomas,
willst Du die Listbox im Form anpassen?
Wenn ja ist das im der SUB UserForm_Initialize() realisiert.
Die For Schleife durchläuft alle Sheets und legt eine Item in der Listbox an (Name des Blattes).
Gruß
Mark
AW: Code anpassen mal wieder!
20.02.2012 15:59:59
Thomas
Hallo Mark,
ich möchte eben nicht alle Tabellenblätter in der Listbox sonder nur Tab 1,5,6 und 7. Derzeit habe ich alle 7 Blätter in der Listbox.
Ich habe es auch schon versucht das Tab 2,3 und 4 auszublenden aber das bring nichts.
Gruß Thomas aus Stuttgart
AW: Code anpassen mal wieder!
20.02.2012 16:31:17
Tino
Hallo,
vielleicht geht es so, zwei Varianten mit Index oder mit Namen.
Private Sub UserForm_Initialize()
Dim intIndex As Integer, ArrayTabs()
'mit Tabellen Index
ArrayTabs = Array(1, 5, 6, 7)
''oder mit Tabellenname
'ArrayTabs = Array("Tabelle1", "Tabelle5", "Tabelle6", "Tabelle7")
For intIndex = LBound(ArrayTabs) To UBound(ArrayTabs)
'mit Index
ListBox1.AddItem ThisWorkbook.Worksheets(ArrayTabs(intIndex)).Name
'  'oder mit Namen
'  ListBox1.AddItem ArrayTabs(intIndex)
Next
End Sub
Gruß Tino
Anzeige
AW: Code anpassen mal wieder!
20.02.2012 16:53:11
Thomas
Hallo Tino,
Nagel auf den Kopf getroffen. Super Danke funzt prima.
Gruß Thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige