Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1052to1056
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

ListBox

ListBox
27.02.2009 22:11:48
Werner
Hallo zusammen,
im Nachfolgenden Makro werden unter anderen alle Tabellenblätter in einer Listenbox aufgelistet. Gibt es eine Möglichkeit das das erste und das letzte Tabellenblatt nicht mit aufgelistet werden?
Gruß Werner

Private Sub CommandButton1_Click()
ThisWorkbook.Sheets(ListBox1.Value).Activate
Range("A1").Select
Unload Me
End Sub



Private Sub CommandButton2_Click()
Sheets(ListBox1.List(ListBox1.ListIndex, 0)).Delete
Unload Me
UserForm2.Hide
End Sub



Private Sub UserForm_Initialize()
Dim Blatt As Worksheet
For Each Blatt In ThisWorkbook.Worksheets
ListBox1.AddItem Blatt.Name
Next
End Sub


23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox
27.02.2009 22:39:06
Werner
Hallo Gerd,
kann Dir nicht ganz Folgen, ich steh warscheinlich auf der Leiteung!!!
Gruß Werner
1. und letztes Blatt weglassen...
27.02.2009 22:45:15
Renee
Hi Werner,
so:

Private Sub UserForm_Initialize()
Dim blatt As Worksheet
For Each blatt In ThisWorkbook.Worksheets
If blatt.Index > 1 And _
blatt.Index 


GreetZ Renée
AW: 1. und letztes Blatt weglassen...
27.02.2009 23:05:07
Werner
Hallo Renee,
Danke für Deine Antwort, so klappt das :-)
Gruß Werner
Habe dazu auch ein Frage !!!
28.02.2009 10:02:41
walli
Guten Morgen,
habe dazu auch eine Frage.
Habe die UF mit Listbox nachgebaut, ich möchte gern bei doppelklick
oder Enter oder Commandbutton, die entsprechende Tabelle
anwähle bzw. aktiviere.
mfg walli
Anzeige
AW: Habe dazu auch ein Frage !!!
28.02.2009 10:16:07
Tino
Hallo,
z. Bsp. so

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Sheets(CStr(ListBox1)).Select
End Sub


Gruß Tino

AW: Habe dazu auch ein Frage !!!
28.02.2009 10:19:27
walli
Guten Morgen Tino,
das klappt und wie geht das mit ENTER oder einem Commandbutton ?
mfg Walli
AW: Habe dazu auch ein Frage !!!
28.02.2009 10:26:55
Tino
Hallo,
hier die Varianten
'Mit CommandButton ************************************************** 
Private Sub CommandButton1_Click()
 Sheets(CStr(ListBox1)).Select
End Sub

'Mit Doppelklick **************************************************** 
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
 Sheets(CStr(ListBox1)).Select
End Sub

'Mit Enter- Taste *************************************************** 
Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  If KeyAscii = 13 Then Sheets(CStr(ListBox1)).Select
End Sub


Gruß Tino

Anzeige
Nur eine Kleinigkeit, wenn möglich
28.02.2009 10:47:56
walli
Hallo Tino, alles perfekt !!!
Habe Label1 erstellt, es soll mir die Anzahl der Tabelle angezeigt werden,
mfg walli
AW: Nur eine Kleinigkeit, wenn möglich
28.02.2009 10:54:49
Tino
Hallo,
beim Aufruf der Userform

Private Sub UserForm_Initialize()
Label1.Caption = ListBox1.ListCount
End Sub


Gruß Tino

DANKE und schönes Wochenende ! -)
28.02.2009 11:29:55
walli
Habe leider ein Problem
28.02.2009 15:05:40
walli
Hallo Tino,
hallo Alle,
habe ein kleines Problem.
Ich habe manchmal bis zu 150 Tabellenblätter.
Wie kann ich es anstellen, die Spalten der Listbox entsprechend zu füllen.
Es passen ca. 25 Namen in eine Spalte.

Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
Dim blatt As Worksheet
For Each blatt In ThisWorkbook.Worksheets
ListBox1.AddItem blatt.Name
Next
With ListBox1
.ColumnCount = 3
.ColumnWidths =  _
("5cm;5cm;5cm")
.Font.Size = 11
End With
Label1.Caption = ListBox1.ListCount
Me.ListBox1.Selected(0) = True
Application.ScreenUpdating = True
End Sub


mfg walli

Anzeige
Du hast mehrere Probleme, nicht nur 1
28.02.2009 15:12:28
Renee
Walli,
Wenn du mehrere Spalten in die Listbox bringst, kannst du keine Blätter mehr mit Klick auswählen, weil sich die Spalten nicht einzeln selektieren lassen.
Die Listbox bekommt doch eine Scrollbar und kann problemlos 150 Einträge in einer Spalte haben, also wo ist dein Problem mit der Anzahl?
GreetZ Renée
er befüllt aber Zeilen keinen Spalten
28.02.2009 15:28:34
Tino
Hallo,
mit AddItem stehen die Tabellen in Zeilen und zwar in der 1. Spalte,
also müssten auch alle Tabellen da sein, ob es 5 sind oder 50.
Gruß Tino
Kommentaritis scheint sich
28.02.2009 18:45:52
Renee
auszubreiten, Tino.
Walli hat was von Spalten gefragt. Und mit .ColumnCount = 3 in seinem Codeschnipsel auch angedeutet!
Mir musst du nix von Zeilen erzählen.
GreetZ Renée
Anzeige
immer gleich so gut gelaunt? witzig ;-)
28.02.2009 18:56:26
Tino
Hallo Renée,
bist Du ein Mann oder eine Frau?
Gruß Tino
Sometimes I have my times! (owT)
28.02.2009 19:03:31
Renee

es wird bald wärmer u. heller ;-) oT.
28.02.2009 19:15:37
Tino
AW: Habe leider ein Problem
28.02.2009 15:15:32
Tino
Hallo,
"Es passen ca. 25 Namen in eine Spalte."
Bist Du Dir da sicher, bei mir passen mehr rein (xl2007)?
PS: Application.ScreenUpdating... bringt in einer Userform nichts zudem ist sie nicht sichtbar.
Gruß Tino
Danke dann lasse ich es so -)
28.02.2009 15:42:06
walli
Danke an Tino und Rennee, ich werde es dann so lassen !
eine andere Möglichkeit... -)
28.02.2009 16:00:06
Tino
Hallo,
...wäre dies mit ListView zu machen.
Weis jetzt aber nicht ob dieses Steuerelement überall zur Verfügung steht.
https://www.herber.de/bbs/user/59874.xls
Gruß Tino
Anzeige
DANKE Tino -)
28.02.2009 20:07:11
walli
Genau das suchte ich, tausend DANK!!!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige