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

Application.Enable

Application.Enable
11.01.2004 10:14:04
Giuseppe
Hallo Freunde gut morgen.
Ich eine Sybolleiste erstellt.
Ich möchte, dass wenn Sheets("zeit").Range("b4").Value = 0 der
Symbol inaktiv wird.
Set symb = Application.CommandBars.Add("Menü", _
Position:=msoBarTop, Temporary:=True)
With symb
.Left = 0
.Visible = True
End With
With Application.CommandBars("Dienste").Controls _
.Add(Type:=msoControlButton)
.Style = msoButtonCaption
.Caption = " F "
.TooltipText = " F "
.BeginGroup = True
.OnAction = "Früh"
End With

If Sheets("zeit").Range("b4").Value = 0 Then
......................????.Enabled = False
End If
wie soll ich der Code ergänzen?
Danke
Giuseppe

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.Enable
11.01.2004 10:23:24
Nepumuk
Hallo Giuseppe,
Application.CommandBars("Dienste").Enabled = False
Gruß
Nepumuk
AW: Application.Enable
11.01.2004 10:34:44
Giuseppe
Hallo Nepumuk
danke für deine Antwort.
Ich habe nur ein eil der Code gepostet (als Beispiel).
Ich habe 32 Symbole in der Symbolleiste("Dienste").
Es sollten nur die Symbole inaktiv sein wenn der Wert von B4 (bis B35) = 0 .
Mit Application.CommandBars("Dienste").Enabled = False wird die ganze Symbolleiste ausgeblendet.
Ciao
Giuseppe
AW: Application.Enable
11.01.2004 10:41:10
Nepumuk
Hallo Giuseppe,
dann so:

Option Explicit
Public Sub ausschalten()
Dim myControl As CommandBarControl
For Each myControl In Application.CommandBars("Dienste").Controls
myControl.Enabled = False
Next
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Anzeige
AW: Application.Enable
11.01.2004 10:56:59
Giuseppe
Hallo Nepumuk,
ich habe der Code nicht ganz verstanden... was macht dein Code?
Ciao Giuseppe
AW: Application.Enable
11.01.2004 11:07:27
Nepumuk
Hallo Giuseppe,
der läuft in einer Schleife über die Controls der Symbolleiste. Dabei übernimmt die Objektvariable "myControl" die Eigenschaften des Controls. Eine dieser Eigenschaften ist "Enable" und wenn der Objektvariablen die Eigenschaft "Enable = False" zugewiesen wird, dann hat auch das Objekt diesen Eigenschaftswert.
Alles klar?
Gruß
Nepumuk
AW: Application.Enable
11.01.2004 11:22:10
Giuseppe
Hallo Danke für die Erleuterung.
Wie soll dein Code in mein integrieren? ..und wo kommt der If?
If Sheets("Arbeitzeit").Range("b4").Value = "1" Then......

Private Sub Workbook_Open()
Dim symb As CommandBar
'********2. Symbolleiste
Set symb = Application.CommandBars.Add("Dienste", _
Position:=msoBarTop, Temporary:=True)
With symb
.Left = 0
.Visible = True
End With
'''Frühdienst
With Application.CommandBars("Dienste").Controls _
.Add(Type:=msoControlButton)
.Style = msoButtonCaption
.Caption = " F  "
.TooltipText = " F "
.BeginGroup = True
.OnAction = "Früh"
End With
With Application.CommandBars("Dienste").Controls _
.Add(Type:=msoControlButton)
.Style = msoButtonCaption
.Caption = " F1 "
.TooltipText = " F1 "
.BeginGroup = True
.OnAction = "Früh1"
End With
With Application.CommandBars("Dienste").Controls _
.Add(Type:=msoControlButton)
.Style = msoButtonCaption
.Caption = " F2 "
.TooltipText = " F2 "
.BeginGroup = True
.OnAction = "Früh2"
End With
With Application.CommandBars("Dienste").Controls _
.Add(Type:=msoControlButton)
.Style = msoButtonCaption
.Caption = " F3 "
.TooltipText = " F3 "
.BeginGroup = True
.OnAction = "Früh3"
End With
'und so weiter bis 32 Symbole?
End Sub

Ciao
Giuseppe
Anzeige
AW: Application.Enable
11.01.2004 11:31:39
Nepumuk
Hallo Giuseppe,
das kommt darauf an, wo die Symbole deaktiviert werden sollen. Schon sofort nach dem erstellen der Leiste?
Gruß
Nepumuk
AW: Application.Enable
11.01.2004 11:37:04
Giuseppe
Hallo Nepumuk,
ja oder beim drucken auf der Symbol(kann sein, dass zwischendurch der Wert von B4
sich ändert)
ciao
AW: Application.Enable
11.01.2004 11:55:47
Nepumuk
Hallo Giuseppe,
dann kopiere mein Programm in ein normales Modul und benutze es als eingenständige Routine. Frage im Workbook_Open - Ereignis nach dem erstellen der Symbolleiste den Wert von B4 ab und wenn er 0 ist, dann rufe mein Programm auf (Call ausschalten). In das Klassenmodul der Tabelle in der B4 abgefragt wird, kommt folgendes Programm:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$4" And Target = 0 Then Call ausschalten
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Anzeige
AW: Danke, Danke, Danke
11.01.2004 12:05:38
Giuseppe
Danke Nepumuk, bin schlauer geworden.
Schön Sonntag noch
ciao Giuseppe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige