Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
684to688
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
684to688
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Symbolleiste: Case 1, Case 2

Symbolleiste: Case 1, Case 2
20.10.2005 11:24:54
Dominik
habe eine symbolleiste angelegt mit einer controlcombobox. wenn das listitem index 2 (case 2) ausgewählt wird möchte ich, dass es zuerst case 1 ausführt, dann aber auch noch case 2.
ist das möglich?

Sub onaction ()
IndexAuftrag = Application.CommandBars("Bedarfsrechnungs_Tool").Controls("Auftragsbestätigung").ListIndex
Select Case IndexAuftrag
Case 1
'blabla
Case 2
'zuerst case1
'dann bloblo
End Select
End Sub

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Symbolleiste: Case 1, Case 2
ransi
Hallo
"ist das möglich?"
Ich denke schon..
wenn du erst case 1 ausführen lassen willst dann musst du das case 2 auch sagen:

Sub onaction ()
IndexAuftrag = Application.CommandBars("Bedarfsrechnungs_Tool").Controls("Auftragsbestätigung").ListIndex
Select Case IndexAuftrag
Case 1
'blabla
Case 2
'blabla
'bloblo
End Select
End Sub

ransi
AW: Symbolleiste: Case 1, Case 2
20.10.2005 11:44:01
Dominik
ok... das problem ist nur, dass der code in case 1 ('blabla) sehr lange ist. damit ich platz sparen kann, möchte ich den code ('blabla) eigentlich nicht mehr in case 2 haben. was könnte ich tun?
Anzeige
AW: Symbolleiste: Case 1, Case 2
ransi


      
Hallo Dominik
Dann Teil den code auf:
Z.b.
Option 
Explicit

Sub onaction()
IndexAuftrag = Application.CommandBars(
"Bedarfsrechnungs_Tool").Controls("Auftragsbestätigung").ListIndex
Select Case IndexAuftrag
    
Case 1
        
Call blabla
    
Case 2
        
Call blabla
        
Call bloblo
    
End Select
End Sub
Public Sub blabla()
 MsgBox 
"Ich bin makro blabla"
End Sub
Public Sub bloblo()
 MsgBox 
"Ich bin makro bloblo"
End Sub
ransi 


Anzeige
AW: Symbolleiste: Case 1, Case 2
20.10.2005 11:53:46
u_
Hallo,
so geht das:
Select Case IndexAuftrag
Case 1, 2
'blabla
Case 2
'bloblo
End Select
End Sub
@ransi: geh' wieder in deine Ecke. ;-))
Gruß
Geist ist geil!
hm..
ransi
hallo udo
ist es nicht so das in deinem code nur blabla ausgeführt wird und dann end select?
wo bleibt dann bloblo?
wenn ja geh ich wieder in die ecke.
Wenn nicht, gehst du ?
ransi
Ich geh in die Ecke
20.10.2005 12:17:53
u_
;-)
ransi
ransi
AW: code aufteilen; case 1, 2
20.10.2005 12:31:58
Dominik
code aufteilen
leider kann ich den code nicht aufteilen, weil in onaction variablen stehen die für blabla und bloblo gelten. sonst müsste ich diese bedingungen (noch grösserer code als in case 1) zusätzlich in blabla und bloblo kopieren. ergibt wieder platzproblem.
case 1, 2
hab case 1, 2 ausprobiert. führt leider nur case 2 aus und nicht zuerst case 1. aber eine lösung dieser art wäre natürlich optimal.
Anzeige
AW: code aufteilen; case 1, 2
ransi


      
Hallo dominik
Ich begebe mich jetzt auf sehr dünnes eis, denn hier sind meine kenntnisse sehr eingeschränkt.
Darum stelle ich auch die 
"Frage als noch offen".
Du kannst einem makro arfumente übergeben.
Vom Prinzip her geht das 
in etwa so:
Dim var1
Dim var2
Dim var3
Sub onaction()
IndexAuftrag = Application.CommandBars(
"Bedarfsrechnungs_Tool").Controls("Auftragsbestätigung").ListIndex
'IndexAuftrag = InputBox("Testen")
var1 = "test1"
var2 = 
"test2"
var3 = 
"test3"
Select Case IndexAuftrag
    
Case 1
        
Call blabla(var1, var2, var3)
    
Case 2
        
Call blabla(var1, var2, var3)
        
Call bloblo(var1, var2, var3)
    
End Select
End Sub
Public Sub blabla(Optional var1, Optional var2, Optional var3)
 MsgBox var1
End Sub
Public Sub bloblo(Optional var1, Optional var2, Optional var3)
 MsgBox var2
End Sub
ransi 


Anzeige
AW: combobox suchen
20.10.2005 13:43:03
Dominik
ich habs nun so gemacht wie du zuerst gesagt hast: den code aus case 1 nochmals in case 2 schreiben.
kann ich über eine controlcombobox (in der symbolleiste) selbst einen suchbegriff eingeben, und diesen dann über den autofilter suchen lassen? ok es geht, aber wie? :-)
das feld hab ich so angelegt:
Set oBcb = oBar.Controls.Add(Type:=msoControlComboBox)
oBcb.Caption = "Art-Nr"
With oBcb
.DropDownLines = 0
.ListHeaderCount = 0
.AddItem (""), 1
.OnAction = "Auswahl"
.Width = 0
End With
weiter gehts so:
sub auswahl ()
indexartnr = Application.CommandBars("Bedarfsrechnungs_Tool").Controls("Art-Nr").ListIndex
Select Case IndexWarenverschiebung
Case 1
Selection.AutoFilter Field:=1, Criteria1:=indexartnr
End Select
Anzeige
AW: code aufteilen; case 1, 2
20.10.2005 13:41:59
u_
Hallo,
auch auf die Gefahr hin, erschlagen zu werden:

Sub blablo()
Dim Index As Integer
Index = Application.InputBox("Index:", , , , , , , 2)
Select Case Index
Case 1: GoSub blabla
Case 2: GoSub blabla: GoSub blablo
End Select
Exit Sub
blabla:
MsgBox "Blabla"
Return
blablo:
MsgBox "Bloblo"
Return
End Sub

oder so?

Sub blablo()
Dim Index As Integer
Index = Application.InputBox("Index:", , , , , , , 2)
MsgBox "Blabla"
If Index = 1 Then Exit Sub
MsgBox "Bloblo"
End Sub

Gruß
Geist ist geil! (na ja)
Anzeige
AW: code aufteilen; case 1, 2
20.10.2005 13:54:24
Dominik
hey das ist genial! hab den code so eingebaut:
Case 1:
GoSub blabla
Case 2:
GoSub blabla
bloblo
End Select
Exit Sub
blabla:
MsgBox "Blabla"
Return
vielen dank!!
AW: code aufteilen; case 1, 2
20.10.2005 15:03:07
u_
Hallo,
das ist nicht genial, das ist schlechter Programmierstil. Aber was anderes fällt mir nicht ein.
Gruß
Geist ist geil!
Combobox suchen
20.10.2005 15:16:58
Dominik
kann ich über eine controlcombobox (in der symbolleiste) selbst einen suchbegriff eingeben, und diesen dann über den autofilter suchen lassen? ok es geht, aber wie? :-)
das feld hab ich so angelegt:
Set oBcb = oBar.Controls.Add(Type:=msoControlComboBox)
oBcb.Caption = "Art-Nr"
With oBcb
.DropDownLines = 0
.ListHeaderCount = 0
.AddItem (""), 1
.OnAction = "Auswahl"
.Width = 0
End With
weiter gehts so:
sub auswahl ()
indexartnr = Application.CommandBars("Bedarfsrechnungs_Tool").Controls("Art-Nr").ListIndex
Selection.AutoFilter Field:=1, Criteria1:=indexartnr
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige