Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

ListBox | Herbers Excel-Forum


Betrifft: ListBox von: Werner
Geschrieben am: 27.02.2009 22:11:48

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


  

Betrifft: AW: ListBox von: Gerd L
Geschrieben am: 27.02.2009 22:17:18

'n Abend Werner!

Und sonst?
https://www.herber.de/forum/messages/1053303.html

Gruß Gerd


  

Betrifft: AW: ListBox von: Werner
Geschrieben am: 27.02.2009 22:39:06

Hallo Gerd,

kann Dir nicht ganz Folgen, ich steh warscheinlich auf der Leiteung!!!

Gruß Werner


  

Betrifft: 1. und letztes Blatt weglassen... von: Renee
Geschrieben am: 27.02.2009 22:45:15

Hi Werner,

so:

Private Sub UserForm_Initialize()
    Dim blatt As Worksheet
    For Each blatt In ThisWorkbook.Worksheets
      If blatt.Index > 1 And _
         blatt.Index < ThisWorkbook.Worksheets.Count Then _
         ListBox1.AddItem blatt.Name
    Next
End Sub


GreetZ Renée


  

Betrifft: AW: 1. und letztes Blatt weglassen... von: Werner
Geschrieben am: 27.02.2009 23:05:07

Hallo Renee,

Danke für Deine Antwort, so klappt das :-)

Gruß Werner


  

Betrifft: Habe dazu auch ein Frage !!! von: walli
Geschrieben am: 28.02.2009 10:02:41

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


  

Betrifft: AW: Habe dazu auch ein Frage !!! von: Tino
Geschrieben am: 28.02.2009 10:16:07

Hallo,

z. Bsp. so

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



Gruß Tino


  

Betrifft: AW: Habe dazu auch ein Frage !!! von: walli
Geschrieben am: 28.02.2009 10:19:27

Guten Morgen Tino,
das klappt und wie geht das mit ENTER oder einem Commandbutton ?

mfg Walli


  

Betrifft: AW: Habe dazu auch ein Frage !!! von: Tino
Geschrieben am: 28.02.2009 10:26:55

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


  

Betrifft: Nur eine Kleinigkeit, wenn möglich von: walli
Geschrieben am: 28.02.2009 10:47:56

Hallo Tino, alles perfekt !!!

Habe Label1 erstellt, es soll mir die Anzahl der Tabelle angezeigt werden,
mfg walli


  

Betrifft: AW: Nur eine Kleinigkeit, wenn möglich von: Tino
Geschrieben am: 28.02.2009 10:54:49

Hallo,

beim Aufruf der Userform

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



Gruß Tino


  

Betrifft: DANKE und schönes Wochenende ! -) von: walli
Geschrieben am: 28.02.2009 11:29:55




  

Betrifft: Habe leider ein Problem von: walli
Geschrieben am: 28.02.2009 15:05:40

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


  

Betrifft: Du hast mehrere Probleme, nicht nur 1 von: Renee
Geschrieben am: 28.02.2009 15:12:28

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


  

Betrifft: er befüllt aber Zeilen keinen Spalten von: Tino
Geschrieben am: 28.02.2009 15:28:34

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


  

Betrifft: Kommentaritis scheint sich von: Renee
Geschrieben am: 28.02.2009 18:45:52

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


  

Betrifft: immer gleich so gut gelaunt? witzig ;-) von: Tino
Geschrieben am: 28.02.2009 18:56:26

Hallo Renée,
bist Du ein Mann oder eine Frau?

Gruß Tino


  

Betrifft: Sometimes I have my times! (owT) von: Renee
Geschrieben am: 28.02.2009 19:03:31




  

Betrifft: es wird bald wärmer u. heller ;-) oT. von: Tino
Geschrieben am: 28.02.2009 19:15:37




  

Betrifft: AW: Habe leider ein Problem von: Tino
Geschrieben am: 28.02.2009 15:15:32

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


  

Betrifft: Danke dann lasse ich es so -) von: walli
Geschrieben am: 28.02.2009 15:42:06

Danke an Tino und Rennee, ich werde es dann so lassen !


  

Betrifft: Hier mal eine andere Methode von: Tino
Geschrieben am: 28.02.2009 15:49:08

Hallo,

https://www.herber.de/bbs/user/59873.xls

Gruß Tino


  

Betrifft: eine andere Möglichkeit... -) von: Tino
Geschrieben am: 28.02.2009 16:00:06

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


  

Betrifft: DANKE Tino -) von: walli
Geschrieben am: 28.02.2009 20:07:11

Genau das suchte ich, tausend DANK!!!


Beiträge aus den Excel-Beispielen zum Thema "ListBox"