Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
936to940
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
936to940
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code - verkürzte Schreibweise möglich?

Code - verkürzte Schreibweise möglich?
03.01.2008 23:03:18
Gerhard
Hallo Zusammen...
Gibt es eigentlich für den unten aufgeführten Code eine "verkürzte" Schreibweise?
So wie ich das jetzt mit meinem "Wissen" zusammengepfriemelt habe, funzt es ja, aber es is ja schon irre viel an "Text"
Lässt sich soetwas auch verkürzt schreiben? Wenn ja wie?
LG Gerhard

Private Sub Userform_initialize()
lbl_KL.Visible = True
Opt_KL.Visible = True
lbl_KL_Menge.Visible = False
txt_KL_Menge.Visible = False
lbl_KL_LFSDatum.Visible = False
txt_KL_LFSDatum.Visible = False
lbl_KL_LFSNr.Visible = False
txt_KL_LFSNr.Visible = False
lbl_KL_LFSNr.Visible = False
txt_KL_LFSNr.Visible = False
lbl_KL_WareIO.Visible = False
Opt_KL_WareIO.Visible = False
Opt_KL_WareNIO.Visible = False
lbl_KL_BegrNIO.Visible = False
txt_KL_BegrNIO.Visible = False
lbl_KL_GeprVon.Visible = False
cbo_KL_GeprVon.Visible = False
Opt_TL.Visible = True
lbl_TL.Visible = True
lbl_TL_Menge.Visible = False
txt_TL_Menge.Visible = False
lbl_TL_LFSDatum.Visible = False
txt_TL_LFSDatum.Visible = False
lbl_TL_LFSNr.Visible = False
txt_TL_LFSNr.Visible = False
lbl_TL_LFSNr.Visible = False
txt_TL_LFSNr.Visible = False
lbl_TL_WareIO.Visible = False
Opt_TL_WareIO.Visible = False
Opt_TL_WareNIO.Visible = False
lbl_TL_BegrNIO.Visible = False
txt_TL_BegrNIO.Visible = False
lbl_TL_GeprVon.Visible = False
cbo_TL_GeprVon.Visible = False
Opt_RL.Visible = True
lbl_RL.Visible = True
lbl_RL_Menge.Visible = False
txt_RL_Menge.Visible = False
lbl_RL_LFSDatum.Visible = False
txt_RL_LFSDatum.Visible = False
lbl_RL_LFSNr.Visible = False
txt_RL_LFSNr.Visible = False
lbl_RL_LFSNr.Visible = False
txt_RL_LFSNr.Visible = False
lbl_RL_WareIO.Visible = False
Opt_RL_WareIO.Visible = False
Opt_RL_WareNIO.Visible = False
lbl_RL_BegrNIO.Visible = False
txt_RL_BegrNIO.Visible = False
lbl_RL_GeprVon.Visible = False
cbo_RL_GeprVon.Visible = False
End Sub



Private Sub Opt_KL_Click()
Me.txtStatus = "RECHNUNG OFFEN"
lbl_KL.Visible = True
Opt_KL.Visible = True
lbl_KL_Menge.Visible = True
txt_KL_Menge.Visible = True
lbl_KL_LFSDatum.Visible = True
txt_KL_LFSDatum.Visible = True
lbl_KL_LFSNr.Visible = True
txt_KL_LFSNr.Visible = True
lbl_KL_LFSNr.Visible = True
txt_KL_LFSNr.Visible = True
lbl_KL_WareIO.Visible = True
Opt_KL_WareIO.Visible = True
Opt_KL_WareIO = Enabled
Opt_KL_WareNIO.Visible = True
Opt_KL_WareNIO = Not Enabled
lbl_KL_BegrNIO.Visible = True
txt_KL_BegrNIO.Visible = False
lbl_KL_GeprVon.Visible = True
cbo_KL_GeprVon.Visible = True
Opt_TL.Visible = True
lbl_TL.Visible = True
lbl_TL_Menge.Visible = False
txt_TL_Menge.Visible = False
lbl_TL_LFSDatum.Visible = False
txt_TL_LFSDatum.Visible = False
lbl_TL_LFSNr.Visible = False
txt_TL_LFSNr.Visible = False
lbl_TL_LFSNr.Visible = False
txt_TL_LFSNr.Visible = False
lbl_TL_WareIO.Visible = False
Opt_TL_WareIO.Visible = False
Opt_TL_WareNIO.Visible = False
lbl_TL_BegrNIO.Visible = False
txt_TL_BegrNIO.Visible = False
lbl_TL_GeprVon.Visible = False
cbo_TL_GeprVon.Visible = False
Opt_RL.Visible = True
lbl_RL.Visible = True
lbl_RL_Menge.Visible = False
txt_RL_Menge.Visible = False
lbl_RL_LFSDatum.Visible = False
txt_RL_LFSDatum.Visible = False
lbl_RL_LFSNr.Visible = False
txt_RL_LFSNr.Visible = False
lbl_RL_LFSNr.Visible = False
txt_RL_LFSNr.Visible = False
lbl_RL_WareIO.Visible = False
Opt_RL_WareIO.Visible = False
Opt_RL_WareNIO.Visible = False
lbl_RL_BegrNIO.Visible = False
txt_RL_BegrNIO.Visible = False
lbl_RL_GeprVon.Visible = False
cbo_RL_GeprVon.Visible = False
End Sub



Private Sub Opt_KL_WareNIO_Click()
txt_KL_BegrNIO.Visible = True
lbl_KL_BegrNIO.Visible = True
End Sub



Private Sub Opt_KL_WareIO_Click()
txt_KL_BegrNIO.Visible = False
lbl_KL_BegrNIO.Visible = False
End Sub



Private Sub Opt_TL_Click()
Me.txtStatus = "LIEFERUNG OFFEN"
lbl_KL.Visible = True
Opt_KL.Visible = True
lbl_TL_Menge.Visible = True
txt_TL_Menge.Visible = True
lbl_TL_LFSDatum.Visible = True
txt_TL_LFSDatum.Visible = True
lbl_TL_LFSNr.Visible = True
txt_TL_LFSNr.Visible = True
lbl_TL_LFSNr.Visible = True
txt_TL_LFSNr.Visible = True
lbl_TL_WareIO.Visible = True
Opt_TL_WareIO.Visible = True
Opt_TL_WareIO = Enabled
Opt_TL_WareNIO.Visible = True
Opt_TL_WareNIO = Not Enabled
lbl_TL_BegrNIO.Visible = True
txt_TL_BegrNIO.Visible = False
lbl_TL_GeprVon.Visible = True
cbo_TL_GeprVon.Visible = True
Opt_KL.Visible = True
lbl_KL.Visible = True
lbl_KL_Menge.Visible = False
txt_KL_Menge.Visible = False
lbl_KL_LFSDatum.Visible = False
txt_KL_LFSDatum.Visible = False
lbl_KL_LFSNr.Visible = False
txt_KL_LFSNr.Visible = False
lbl_KL_LFSNr.Visible = False
txt_KL_LFSNr.Visible = False
lbl_KL_WareIO.Visible = False
Opt_KL_WareIO.Visible = False
Opt_KL_WareNIO.Visible = False
lbl_KL_BegrNIO.Visible = False
txt_KL_BegrNIO.Visible = False
lbl_KL_GeprVon.Visible = False
cbo_KL_GeprVon.Visible = False
Opt_RL.Visible = True
lbl_RL.Visible = True
lbl_RL_Menge.Visible = False
txt_RL_Menge.Visible = False
lbl_RL_LFSDatum.Visible = False
txt_RL_LFSDatum.Visible = False
lbl_RL_LFSNr.Visible = False
txt_RL_LFSNr.Visible = False
lbl_RL_LFSNr.Visible = False
txt_RL_LFSNr.Visible = False
lbl_RL_WareIO.Visible = False
Opt_RL_WareIO.Visible = False
Opt_RL_WareNIO.Visible = False
lbl_RL_BegrNIO.Visible = False
txt_RL_BegrNIO.Visible = False
lbl_RL_GeprVon.Visible = False
cbo_RL_GeprVon.Visible = False
End Sub



Private Sub Opt_TL_WareNIO_Click()
txt_TL_BegrNIO.Visible = True
lbl_TL_BegrNIO.Visible = True
End Sub



Private Sub Opt_TL_WareIO_Click()
txt_TL_BegrNIO.Visible = False
lbl_TL_BegrNIO.Visible = False
End Sub



Private Sub Opt_RL_Click()
Me.txtStatus = "RECHNUNG OFFEN"
lbl_KL.Visible = True
Opt_KL.Visible = True
lbl_RL_Menge.Visible = True
txt_RL_Menge.Visible = True
lbl_RL_LFSDatum.Visible = True
txt_RL_LFSDatum.Visible = True
lbl_RL_LFSNr.Visible = True
txt_RL_LFSNr.Visible = True
lbl_RL_LFSNr.Visible = True
txt_RL_LFSNr.Visible = True
lbl_RL_WareIO.Visible = True
Opt_RL_WareIO.Visible = True
Opt_RL_WareIO = Enabled
Opt_RL_WareNIO.Visible = True
Opt_RL_WareNIO = Not Enabled
lbl_RL_BegrNIO.Visible = True
txt_RL_BegrNIO.Visible = False
lbl_RL_GeprVon.Visible = True
cbo_RL_GeprVon.Visible = True
Opt_TL.Visible = True
lbl_TL.Visible = True
lbl_TL_Menge.Visible = True
txt_TL_Menge.Visible = True
txt_TL_Menge.Locked = True
txt_TL_Menge.BackColor = &HE0E0E0
lbl_TL_LFSDatum.Visible = True
txt_TL_LFSDatum.Visible = True
txt_TL_LFSDatum.Locked = True
txt_TL_LFSDatum.BackColor = &HE0E0E0
lbl_TL_LFSNr.Visible = True
txt_TL_LFSNr.Visible = True
txt_TL_LFSNr.Locked = True
txt_TL_LFSNr.BackColor = &HE0E0E0
lbl_TL_LFSNr.Visible = True
txt_TL_LFSNr.Visible = True
txt_TL_LFSNr.Locked = True
txt_TL_LFSNr.BackColor = &HE0E0E0
lbl_TL_WareIO.Visible = True
Opt_TL_WareIO.Visible = True
Opt_TL_WareIO.Visible = True
Opt_TL_WareNIO.Locked = True
Opt_TL_WareNIO.Locked = True
lbl_TL_BegrNIO.Visible = True
txt_TL_BegrNIO.Visible = True
txt_TL_BegrNIO.Locked = True
txt_TL_BegrNIO.BackColor = &HE0E0E0
lbl_TL_GeprVon.Visible = True
cbo_TL_GeprVon.Visible = True
cbo_TL_GeprVon.Locked = True
cbo_TL_GeprVon.BackColor = &HE0E0E0
Opt_KL.Visible = True
lbl_KL.Visible = True
lbl_KL_Menge.Visible = False
txt_KL_Menge.Visible = False
lbl_KL_LFSDatum.Visible = False
txt_KL_LFSDatum.Visible = False
lbl_KL_LFSNr.Visible = False
txt_KL_LFSNr.Visible = False
lbl_KL_LFSNr.Visible = False
txt_KL_LFSNr.Visible = False
lbl_KL_WareIO.Visible = False
Opt_KL_WareIO.Visible = False
Opt_KL_WareNIO.Visible = False
lbl_KL_BegrNIO.Visible = False
txt_KL_BegrNIO.Visible = False
lbl_KL_GeprVon.Visible = False
cbo_KL_GeprVon.Visible = False
End Sub



Private Sub Opt_RL_WareNIO_Click()
txt_RL_BegrNIO.Visible = True
lbl_RL_BegrNIO.Visible = True
End Sub



Private Sub Opt_RL_WareIO_Click()
txt_RL_BegrNIO.Visible = False
lbl_RL_BegrNIO.Visible = False
End Sub


7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code - verkürzte Schreibweise möglich?
03.01.2008 23:16:14
{Boris}
Hi Gerhard,
allgemein: Mit TypeOf kannst Du spezielle Control-Typen überprüfen und sie dadurch in einer Schleife ansprechen. Hier ein Beispiel für alle Labels in einem Userform:

Private Sub CommandButton1_Click()
Dim objControl As Control
For Each objControl In Me.Controls
If TypeOf objControl Is MSForms.Label Then
objControl.Visible = Not objControl.Visible
End If
Next objControl
End Sub


Grüße Boris

AW: Code - verkürzte Schreibweise möglich?
03.01.2008 23:21:18
Gerhard
Hallo Boris...
:) Naja verstehen tu ich das NOCH ned, aber ich werd mich da mal reinarbeiten. Wo es gerade bei mir hapert, ist wie ich mit diesem Beispiel, das bei meinem Prob "umbauen" muss, da ich zwar alle Labels anspreche, aber immer unterschiedlich ob visible oder nicht...
Trotzdem thx
greetz Gerhard

Anzeige
Du kannst einzelne Labels ausschließen...
03.01.2008 23:32:41
{Boris}
Hi Gerhard,
...indem Du noch zusätzlich innerhalb einer Select Case-Abfrage ihre Namen überprüfst:

Private Sub CommandButton1_Click()
Dim objControl As Control
For Each objControl In Me.Controls
If TypeOf objControl Is MSForms.Label Then
Select Case objControl.Name
Case "Label1", "Label2" '


Grüße Boris

AW: Code - verkürzte Schreibweise möglich?
03.01.2008 23:37:45
Uduuh
Hallo,
dann noch ein

select Case objcontrol.name
case "blaa", "blab","blac"
objcontrol.visible=False
else
objcontrol.visible=true
end select


dazwischen
Gruß aus’m Pott
Udo

Anzeige
AW: Code - verkürzte Schreibweise möglich?
05.01.2008 06:55:59
Gerhard
Servus Uduuh, Servus Boris
Ich habe mich mal daran versucht... nääää da übersteigt meinen begrenzten geistigen Horizont :(
(und wenn ich alles ausschliessen muss was nicht ausgeblendet werde soll, habe ich noch mehr Arbeit damit, als mit meiner Schreibweise (Weil das UF noch ne ganze Latte mehr an Labels hat...)
Trotzdem Danke für eure Hilfe und ich lass ma die Frage offen, vllt hat jemand noch ne Idee
Greetz Gerhard

AW: Code - verkürzte Schreibweise möglich?
05.01.2008 14:23:00
Gerd
Hallo Gerhard,
vielleicht liegt sowas diesseits des Horizonts ? :-)
Option Explicit
Dim HauptElemente As Variant
Dim Detail_Labels_KL As Variant
Dim zähler As Integer

Private Sub UserForm_Activate()
HauptElemente = Array("lbl_KL", "Opt_KL")
Detail_Labels_KL = Array("lbl_KL_Menge", "lbl_KL_LFSDatum", _
"lbl_KL_LFSNr", "lbl_KL_WareIO", _
"lbl_KL_BegrNIO", "lbl_KL_GeprVon")
Call Einblenden(HauptElemente)
Call Ausblenden(Detail_Labels_KL)
End Sub


Function Ausblenden(Steuerelementenamen As Variant)
For zähler = 0 To UBound(Steuerelementenamen)
Me.Controls(Steuerelementenamen(zähler)).Visible = False
Next
End Function


Function Einblenden(Steuerelementenamen As Variant)
For zähler = 0 To UBound(Steuerelementenamen)
Me.Controls(Steuerelementenamen(zähler)).Visible = True
Next
End Function


Gruß Gerd

Anzeige
AW: Code - verkürzte Schreibweise möglich?
05.01.2008 14:43:00
Daniel
Hi
wenn es in deinen Steuerelementen bestimmte Gruppen gibt, dh. Steuerelemente, die immer zusammen ein- oder ausgeblendet werden, dann könntest du das auch über Untermakros verkürzen:
du schreibst für jede Gruppe ein Untermakro:

Private Sub Gruppe1(bolVisi as boolean)
txt1.visible = bolVisi
txt2.visible = bolVisi
lbl1.visible = bolVisi
lbl2.visible = bolVisi
end sub
Private Sub Gruppe2(bolVisi as boolean)
txt3.visible = bolVisi
txt4.visible = bolVisi
lbl3.visible = bolVisi
lbl4.visible = bolVisi
End sub


um jetzt im Hauptcode alle Elemnte einer Gruppe aus- oder einzublenden, schreibst du jetzt nur noch:


Call Gruppe1(true)
Call Gruppe2(false)
...


Elemente, die sich unabhängig von einer Gruppe verändern, musst du halt weiterhin einzeln abarbeiten, aber für den grössten Teil könnte es schon eine vereinfachung sein.
Gruß, Daniel

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige