Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Listenfeld mit mehreren Makros | Herbers Excel-Forum


Betrifft: Listenfeld mit mehreren Makros von: Pasqual
Geschrieben am: 26.01.2012 23:46:33

Ich möchte an ein Listenfeld mehrere Makros anhängen und stoße auf ein problem, wenn ich im VB- _
editor diesen code(testweise nur mit einer auswahl) eingebe


Sub Listenfeld6_BeiÄnderung()
Select Case Listenfeld6_BeiÄnderung.Value
  Case "makro1"
    Call makro1
End Select
End Sub

bekomme ich bei ausführung eine meldung die lautet,

Fehler beim Kompilieren,



Function oder Variable erwartet. 

Jede hilfe ist willkommen


  

Betrifft: AW: Listenfeld mit mehreren Makros von: Hajo_Zi
Geschrieben am: 27.01.2012 06:05:55

Hallo Pasqual,

nur wenige sehen Deine Datei. Ein Nachbau sieht bestimmt anderes aus als das Original. Warum sollte ich die Zeit auch inve4stieren, die hast Du doch schon investiert.

GrußformelHomepage


  

Betrifft: AW: Listenfeld mit mehreren Makros von: Ass
Geschrieben am: 27.01.2012 09:14:52

Hallo Pasqual,

weise dieses Makro deiner Listbox zu.
Der Name des Makros kann geändert werden.
Die Zahl in der Klammer bei ListBox(2) ist der Index, nicht der Name. In diesem Fall wird also die 2. Listbox in deiner Tabelle angesprochen.
Die Namen der Makros müssen natürlich genau mit dem inhalt der Liste übereinstimmen.
siehe auch:
http://support.microsoft.com/kb/140034/de

Sub Test()
      Dim Lbox As Object
      Set Lbox = ActiveSheet.ListBoxes(2)
      If Lbox.Value = 0 Then Exit Sub
      Select Case Lbox.Value
        Case 0
        Exit Sub
        Case 1
          Call makro1
        Case 2
          Call makro2
        Case 3
          Call makro3
        Case 4
          Call makro4
      End Select
      Lbox.Value = 0
End Sub

Für die Programmierung eignen sich die Steuerelemente der Steuerelemente_Toolbox besser.
Rudi


  

Betrifft: AW: Listenfeld mit mehreren Makros von: Pasqual
Geschrieben am: 27.01.2012 15:48:37

Hier nochmal mein problehm etwas genauer definiert,

Ich habe mir ein Listenfeld erstellt und dort eine Liste an Getränken aufgeführt, ich möchte das bei klick auf eines der Getränke ein dazugehöriges Makro ausgeführt wird.

Hier die ersten 10 getränke,

43er
Amaretto
Ananassaft
Aperol
Apfelsaft
Apricot Brandy
Asbach
Bacardi
Bacardi Razz
Baileys

Die Makros sollen gleichnahmig sein.
doch bei jedem versuch mich ohne kenntnisse mit dem VBa Editor auseinander zu setzen, stoße ich auf die fehlermeldung
Fehler beim Kompilieren: Sub oder function nicht definiert .
Bitte helft mir


  

Betrifft: AW: Listenfeld mit mehreren Makros von: Ass
Geschrieben am: 27.01.2012 16:20:52

Hallo

im VBA-Editor findest du den Projekt-Explorer
füge ein Modul ein! Das heißt dann Mudul1
da hinein kopierst du alle Makros

hier einmal alles komplett:
Option Explicit
Option Private Module

Sub Test()
      Dim Lbox As Object
      Set Lbox = ActiveSheet.ListBoxes(2)
      Select Case Lbox.Value
        Case 0
          Exit Sub
        Case 1
          Call makro1
        Case 2
          Call makro2
        Case 3
          Call makro3
        Case 4
          Call makro4
      End Select
      Lbox.Value = 0
End Sub

Sub makro1()
  MsgBox "1"
End Sub
Sub makro2()
  MsgBox "2"
End Sub
Sub makro3()
  MsgBox "3"
End Sub
Sub makro4()
  MsgBox "4"
End Sub

Nun müssen die Makros umbenannt werden.
zB. statt Makro1 - Amaretto
43er geht nicht, da Makro-Namen immer mit einem Buchstaben beginnen müssen; Leerzeichen im Namn geht auch nicht

Gruß
Rudi


  

Betrifft: AW: Listenfeld mit mehreren Makros von: Pasqual
Geschrieben am: 27.01.2012 18:22:52

Danke Danke Danke !!!
Ich habe einfach mal eine neue Mappe geöffnet und deinen Code ausprobiert ! es klappt !!!

Sub Listenfeld1_BeiÄnderung()
Dim Lbox As Object
      Set Lbox = ActiveSheet.ListBoxes(1)
      Select Case Lbox.Value
        Case 0
          Exit Sub
        Case 1
          Call Amaretto
        Case 2
          Call Apfelsaft
        Case 3
          Call Orangensaft
        Case 4
          Call Grenadine
      End Select
      Lbox.Value = 0
End Sub





DANKE !


Beiträge aus den Excel-Beispielen zum Thema "Listenfeld mit mehreren Makros"