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

symbolleiste

symbolleiste
21.01.2004 07:41:42
Pia
Liebes Forum!
ich hatte weiter unten schon einmal dieses Thema. Dort hat mir Matthias echt super weitergeholfen!!!!!!! hab jetzt alles verstanden und konnte es super anwenden!
Dafür danke Matthias!!!!!!!!
https://www.herber.de/bbs/user/3046.xls
Dies ist die Arbeitsmappe die ich von ihm als Bsp bekommen habe.
Dazu habe ich noch eine Frage:
ich möchte nicht eine Symbolleiste haben, sondern zwei!!!!!
Wie GENAU mach ich das??

Danke Leute!!!
Pia

32
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: symbolleiste
21.01.2004 08:44:30
Matthias G
Hallo Pia,
erstmal Danke für das Danke ;-)
Wenn Du zwei Symbolleisten brauchst, dupliziere einfach den Code von BaueSymbolleiste und nenne ihr "Bauesymbolleiste2" oder so.
Den Namen der Symbolleiste musst Du auch noch anpassen, ebenso die Symboleinträge (logo) und auch Abfrage beim Ausblenden:
Public

Sub NurMeineLeiste()
Dim cBar As CommandBar
For Each cBar In Application.CommandBars
'"Cell"=Rechtsklick-Kontextmenü für Zellen
If cBar.Name <> "MeineLeiste1" And cBar.Name <> "MeineLeiste2" And cBar.Name <> "Cell" Then
cBar.Enabled = False
Else
cBar.Enabled = True
End If
Next cBar
End Sub

Liebe Grüße,
Matthias
Anzeige
AW: symbolleiste
21.01.2004 08:54:45
pia
du hast ja oben im code folg.
Const SymbolleistenName = "Meine Symbolleiste"
muss ich das dann ändern um den namen der Leiste zu ändern? und das auch anpassen für die zweite? wenn ja, wie?
Danke!!!!!!!!!!!!!!!

Pia
AW: symbolleiste
21.01.2004 09:07:04
Matthias G
Hallo Pia,
genau, 2 Konstanten...
hier nochmal der geänderte Code von Modul1 meiner Beispielmappe:
Const SymbolleistenName1 = "Meine Leiste 1"
Const SymbolleistenName2 = "Meine Leiste 2"
Public

Sub NurMeineLeiste()
Dim cBar As CommandBar
For Each cBar In Application.CommandBars
'"Cell"=Rechtsklick-Kontextmenü für Zellen
If cBar.Name <> SymbolleistenName1 And cBar.Name <> SymbolleistenName2 And cBar.Name <> "Cell" Then
cBar.Enabled = False
Else
cBar.Enabled = True
End If
Next cBar
End Sub

Public

Sub NurSystemLeisten()
Dim cBar As CommandBar
For Each cBar In Application.CommandBars
If cBar.Name <> SymbolleistenName1 And cBar.Name <> SymbolleistenName2 And cBar.Name <> "Cell" Then
cBar.Enabled = True
Else
cBar.Enabled = False
End If
Next cBar
End Sub


Sub LöscheSymbolleiste(n)
On Error Resume Next 'falls nicht vorhanden
Application.CommandBars(n).Delete 'löschen, falls vorhanden
On Error GoTo 0
End Sub


Sub BaueSymbolleiste1()
Dim cB As CommandBar
Dim CBC As CommandBarButton
Dim i%
On Error Resume Next
Application.CommandBars(SymbolleistenName1).Delete 'löschen, falls vorhanden
Set cB = Application.CommandBars.Add(Name:=SymbolleistenName1, _
temporary:=True, Position:=msoBarTop)
On Error GoTo 0
If Application.CommandBars(SymbolleistenName1).Visible = False Then
cB.Visible = True
' den Wert 4 immer mit der Anzahl der zu erstellenden Symbole abgleichen
For i = 1 To 4
Set CBC = cB.Controls.Add(Type:=msoControlButton)
With CBC
.Style = msoButtonIconAndCaption
Select Case i
Case 1
.BeginGroup = True
.Caption = "Speichern"
.OnAction = "PlanSpeichern"
.TooltipText = "Dienstplan speichern"
.FaceId = 3
.Style = msoButtonIconAndCaption
Case 2
.BeginGroup = True
.Caption = "Schließen"
.OnAction = "PlanSchliessen"
.TooltipText = "Dienstplan schließen"
.FaceId = 103
.Style = msoButtonIconAndCaption
Case 3
.BeginGroup = True
.Caption = "Drucken"
.OnAction = "PlanDrucken"
.TooltipText = "Dienstplan drucken"
.FaceId = 4
.Style = msoButtonIconAndCaption
Case 4
.Caption = "Seitenansicht"
.OnAction = "PlanSeitenansicht"
.TooltipText = "Seitenansicht"
.FaceId = 109
.Style = msoButtonIconAndCaption
End Select
End With
Next i
End If
End Sub


Sub BaueSymbolleiste2()
Dim cB As CommandBar
Dim CBC As CommandBarButton
Dim i%
On Error Resume Next
Application.CommandBars(SymbolleistenName2).Delete 'löschen, falls vorhanden
Set cB = Application.CommandBars.Add(Name:=SymbolleistenName2, _
temporary:=True, Position:=msoBarTop)
On Error GoTo 0
If Application.CommandBars(SymbolleistenName2).Visible = False Then
cB.Visible = True
' den Wert 4 immer mit der Anzahl der zu erstellenden Symbole abgleichen
For i = 1 To 4
Set CBC = cB.Controls.Add(Type:=msoControlButton)
With CBC
.Style = msoButtonIconAndCaption
Select Case i
Case 1
.BeginGroup = True
.Caption = "Speichern"
.OnAction = "PlanSpeichern"
.TooltipText = "Dienstplan speichern"
.FaceId = 3
.Style = msoButtonIconAndCaption
Case 2
.BeginGroup = True
.Caption = "Schließen"
.OnAction = "PlanSchliessen"
.TooltipText = "Dienstplan schließen"
.FaceId = 103
.Style = msoButtonIconAndCaption
Case 3
.BeginGroup = True
.Caption = "Drucken"
.OnAction = "PlanDrucken"
.TooltipText = "Dienstplan drucken"
.FaceId = 4
.Style = msoButtonIconAndCaption
Case 4
.Caption = "Seitenansicht"
.OnAction = "PlanSeitenansicht"
.TooltipText = "Seitenansicht"
.FaceId = 109
.Style = msoButtonIconAndCaption
End Select
End With
Next i
End If
End Sub

------------------------------------------
Die

Sub LöscheSymbolleiste habe ich jetzt mit einem Argument versehen, dem Namen der Leiste.
Aufruf also:
LöscheSymbolleiste SymbolleistenName1 'bzw.
LöscheSymbolleiste SymbolleistenName2
Matthias

Anzeige
danke danke danke!!!!!!!
21.01.2004 10:25:05
pia
und nochmals Danke!!!!!!!
Jetzt hat echt alles geklappt!!!!!
Du, hast du mein unteres Problem schon gelesen?
Dass immer ein Fehler bei application.wait angezeigt wird?!

Pia
AW: danke danke danke!!!!!!!
21.01.2004 10:40:31
Matthias G
Hallo Pia,
Freut mich, dass jetzt (fast) alles klappt...
Das mit dem Wait-Befehl ist seltsam...
Vielleicht hast Du irgendwo im eine Variable "Now" definiert?
Falls du den Wait-Befehl einsetzt, um darauf zu warten, dass Excel best. Fenster fertigzeichnet, das tut auch der Befehl "Application.DoEvents".
Sonst aber keinen Plan, sorry...
liebe Grüße,
Matthias
:-)
21.01.2004 10:56:07
pia
obwohl du nichts vor dir siehst, den fehlercode nicht hast, und nur vermutungen anstellst, hast du recht gehabt.........
ich hatte ein Sub die hieß "now"........ Super! Danke!

Und wieder eine Frage zu den Symbolleisten: (jetzt denkst Du: oh nein.....; aber egal! :-) )
ist es möglich, unter bestimmten vorraussetzungen einzelne symbole zu deaktivieren?
hier ein paar spezielle Fälle:
> ich habe ein Symbol für das select von Sheet1; ist nun Sheet1 ausgeblendet, soll das Symbol nicht anwählbar sein (die sind dann ja immer grau unterlegt)
> ich habe ein Symbol für das Einblenden von Zeilen; ist eine bestimmte Zeile ein oder ausgeblendet, soll das symbol nicht anwählbar sein......

liebe Grüße
Pia
Anzeige
AW: geht auch noch... :-)
21.01.2004 11:17:15
Matthias G
Hallo Pia,
CommandBars("Meine Symbolleiste1").Controls("Speichern").Enabled=False
lässt das Symbol "ergrauen".
mit .Visible=False verschwindet es ganz.
Das Symbol selbst kannst Du mit der Caption des Symbols (im Beispiel oben: "Speichern") ansprechen, oder eben mit dem Index.
lg
Matthias
AW: geht auch noch... :-)
21.01.2004 11:25:03
pia
dieser befehl müsste dann in das makro was ausgeführt wird, wenn man das symbol anklickt?
wenn es dann am Anfang steht und die bedingung war ist, es ergraut, wird der rest nicht ausgeführt?
oder wo muss der code hin?
Danke!
Pia
AW: geht auch noch... :-)
21.01.2004 11:28:29
pia
nochmal ich:
ich blende mit
xlVeryHidden
sheets aus. Wie heißt hier der Befehl für, dass erkannt wird ob diese so ausgeblendet wurde?
Bei Zeilen.......
wie kann ich da einen befehl erstellen, der erkennt ob diese (A1) ausgeblendet ist....

Hey, vielen vielen Dank für all die Hilfe!!!!
Pia
Anzeige
bin ich blöd.......
21.01.2004 11:30:30
pia
letzte frage hat sich erledigt.....
;-)
AW: bin ich blöd.......
21.01.2004 11:46:50
Matthias G
Hallo Pia,
der Code um die Symbole zu "Disablen" kann überall stehen,
z.B. im code, wo die Zeille oder das Blatt ausgeblendet wird...
Am besten Du setzt den Code dahin, wo sich die Bedingung, ob er wählbar sein soll oder nicht, ändert.

Wenn Du das Symbol auf disabled setzt, ändert sich nur die Möglichkeit, es anzuwählen, sonst absolut gar nichts. D.h. es wird kein begonnener Code abgebrochen oder sowas... :-)
Wenn du die Änderung der Voraussetzungen für Symbol enabled/disabled nicht genau überwachen kannst, z.B. wenn der Anwender manuell Zeilen oder Blätter ausblenden darf (oder es einfach tut ;-) ), dann setze den Code zur Prüfung der Voraussetzung ins Modul "DieseArbeitsmappe" in die Prozedur

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'hier alle möglichen Prüfungen, z.B.
CommandBars("bla").Controls("ZeigeBlatt1").Enabled = Not(Sheets(1).Visible)
End Sub

Die Sub wird immer ausgeführt, wenn sich die Zellauswahl ändert, und das geschieht eigentlich dauernd, wenn der Benutzer irgendwas macht.
Viel Erfolg weiterhin!
Matthias
Anzeige
AW: geht auch noch... :-)
21.01.2004 11:45:54
pia
ich habe den code jetzt unter befor_save.......
da kommt dann aber immer die meldung:
objektvariable oder with-blockvarieble nicht festgelegt........

?
Pia
AW: geht auch noch... :-)
21.01.2004 11:55:16
Matthias G
Hi Pia,
du musst den Befehl schon anpassen, je nachdem, wie deine Symbolleiste und dein Control-"Caption" heißt...
CommandBars(Name der Leiste).Controls(Name das Controls (=Caption)).Enabled=False
Matthias
AW: geht auch noch... :-)
21.01.2004 12:00:25
pia
das hab ich ja gemacht:
CommandBars("StandardSymbolleiste").Controls("Speichern").Enabled = False
das ist so richtig....... ich schue nochmal

Pia
AW: geht auch noch... :-)
21.01.2004 12:25:46
pia
du, kannst du mir nochmal helfen?
ich versteh das nicht........
in einer normalen sub klappt das einwandfrei, aber wie gesagt in der befor_save nicht....
hast du eine ahnung warum?
Pia
Anzeige
AW: geht auch noch... :-)
21.01.2004 12:29:39
Matthias G
Hi Pia,
hast du wirklich "befor_save" eingegeben?
Es heisst:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
End Sub

(Tip: Du kannst dir die Sub rauspicken mit den Listenfeldern im Codemodul ganz oben. Lins:"Workbook" - rechts "BeforeSave")
Grüße,
Matthias
Hileeeeeeeee!!
21.01.2004 12:37:42
pia
jo, hab ich richtig eingegeben.
Ich versteh jetzt gar nichts mehr!!!!!!!!!
Das Programm habe ich ja schon fast fertig, erweiter es halt nur jetzt ein bißchen......

Es hat bisher auch IMMER einwandfrei funkt. jetzt auf einmal kommen tierisch viele Fehler. wie zb benutze ich msg Boxen immer wie folgt:
a = MsgBox("Möchten Sie die Datei speichern, bevor sie geschlossen wird?", _
3 + 64, "Datei schließen")
If a = vbYes Then
hat auch alles geklappt!!
Jetzt auf einmal kommt die Fehlermeldung "Variable nicht definiert"!!!
Warum auf einmal??????

Bitte hilf!!!!!!
Anzeige
AW: Hileeeeeeeee!!
21.01.2004 12:43:04
Matthias G
Hi Pia,
ruhig Blut.
Ist vielleicht irgendwo der Code "Option Explicit" ganz oben ins Modul reingerutscht?
Dann musst du alle Variablen definieren.
Definiere sie also, oder lösche erstmal "Option Explicit".
Viel Glück...
Matthias
puhhhhhhhh..............
21.01.2004 12:49:41
pia
das wusste ich zb schon mal nicht, dass man dann alle def. muss.........
der fehler wäre also erl.
aber warum klappt das mit dem festlegen der eigenschft der symbole nicht????
ich glaub, ich habe mir da zu viel auferlegt.
und wenn es dich jetzt nicht geben würde........ (würde der pc wohl glaich aus dem fenster fallen)

also danke für alles!!!!
wenn du kein bock mehr hast, meine arbeit zu erl. sag bescheid!!!

Pia
Anzeige
AW: puhhhhhhhh..............
21.01.2004 12:54:05
Matthias G
Hi Du,
versuche mal:
Application.Commandbars("blabla").Controls("...")....
Also "Application." vornanstellen.
Vielleicht ist das nötig im Codemodul der Mappe...
Matthias
AW: puhhhhhhhh..............
21.01.2004 13:00:57
pia
"wie immer hat er recht gehabt"
das war mein gedamke nachdem ich deine anweisung befolgt habe........
Danke!!!!

ich wette, ich meld mich gleich nochmal!!!!!!
Pia
siehst, da bin ich wieder
21.01.2004 13:38:16
pia
also, ich habe alles jetzt hinbekommen!
hatte eine super idee, die ich nun umgesetzt habe und da ist mir dann natürlich was aufgefallen.
und zwar:
ich habe 6 symbole zum Zeilen einblenden in einer Symbolleiste (Zeilen: es sind drei Druckseiten untereinander in einem Tabellenblatt - je nachdem welche Zeilen eingeblendet sind, hat man halt mehrere seiten in denen man werte erfassen kann - soweit verstanden?)
nun habe ich in den code für die einzelnen symbole geschrieben, welches symbol bei welcher bedingung nicht mehr anwählbar sein soll.
Weil, wenn ich die seiten 2 und 3 eingeblendet habe, und dann seite 2 ausblenden kann, ist ja doof. also kann man zb. nicht seite 2 ausblenden, wenn seite 3 eingeblendet ist.
ich habe hier mal einen auszug aus dem code dafür:

-----------

Sub Seite_2_eingeblendet()
CommandBars("StandardSymbolleiste").Controls("2./3. ein").Enabled = False
CommandBars("StandardSymbolleiste").Controls("2./3. aus").Enabled = False
CommandBars("StandardSymbolleiste").Controls("2. ein").Enabled = False
CommandBars("StandardSymbolleiste").Controls("2. aus").Enabled = True
CommandBars("StandardSymbolleiste").Controls("3. ein").Enabled = True
CommandBars("StandardSymbolleiste").Controls("3. aus").Enabled = False
ActiveSheet.Unprotect 123258
Application.EnableEvents = False
Rows("40:78").Select
Selection.EntireRow.Hidden = False
Range("H9").Select
a = MsgBox("Die Seite 2 wurde eingeblendet.", _
0 + 48, "Liebe(r) " & Application.UserName)
Application.EnableEvents = True
ActiveSheet.Protect Password:=123258, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub


Sub Seite_2_ausgeblendet()
CommandBars("StandardSymbolleiste").Controls("2./3. ein").Enabled = True
CommandBars("StandardSymbolleiste").Controls("2./3. aus").Enabled = False
CommandBars("StandardSymbolleiste").Controls("2. ein").Enabled = True
CommandBars("StandardSymbolleiste").Controls("2. aus").Enabled = False
CommandBars("StandardSymbolleiste").Controls("3. ein").Enabled = False
CommandBars("StandardSymbolleiste").Controls("3. aus").Enabled = False
ActiveSheet.Unprotect 123258
Application.EnableEvents = False
Rows("40:78").Select
Selection.EntireRow.Hidden = True
Range("H9").Select
a = MsgBox("Die Seite 2 wurde ausgeblendet.", _
0 + 48, "Liebe(r) " & Application.UserName)
Application.EnableEvents = True
ActiveSheet.Protect Password:=123258, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

-----------
ich weiß nicht, ob das logisch ist für dich was ich damit erreichen ollte / habe?!
Nun aber zu dem Problem:
die symbolleiste gilt ja für alle tabellenblätter.
wenn ich also in sheet1 seite 2 und 3 eingeblendet habe, kann ich in sheet2 nicht mehr die seite 2 einblenden........ usw.
gibt es eine möglichkeit dieses für alle sheets einzeln zu speichern?

Ich hoffe, du hast mich verstanden..........!?

Pia
Anzeige
AW: siehst, da bin ich wieder
21.01.2004 14:16:10
Matthias G
Hallo Pia,
aktualisiere die (de-)aktivierung der Symbole in der Prozedur "Workbook_SheetActivate" im Modul "DieseArbeitsmappe".
Prüfe hier, welche Seiten des Sheets ein/ausgeblendet sind und setze das Enabled des zugehörigen Symbols entsprechend.
If ActiveSheet.Rows("40:78").EntireRow.Hidden Then
'ausgeblendet:
Else
'eingeblendet:
End If

Ich hoffe, Du hast das verstanden?
lg,
Matthias
AW: siehst, da bin ich wieder
21.01.2004 14:44:05
pia
Hey, das war doch nicht so geimet, ich habe es nur super schlecht erlärt........
bin jetzt fertig, da kommt aber die fehlermeldung:
Deklaration der Prozedur entspricht nicht der Beschreibung eines Ereignisses oder einer Prozedur mit demselben Namen
was heißt das? ich habe keine andere sub, die so heißt.........
Pia
AW: siehst, da bin ich wieder
21.01.2004 14:53:12
Matthias G
Hallo Pia,
meine Bemerkung war nich böse gemeint, ich hab' wohl das vergessen: ;-)
Wo kommt denn die Fehlermeldung und wann?
Scheinbar soll beim Klick auf ein Symbol Deiner Leiste eine Prozedur aufgerufen werden, die so nicht aufgerufen werden kann...
Sind vielleicht Argumente dabei?
Grüße,
Matthias
AW: siehst, da bin ich wieder
21.01.2004 15:13:31
pia
prob gelöst..... musste den vollen namen für
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
angeben, dann klappte es auch.
es klappt auch eigentlich. Es sind aber fehler dabei, was wann angezeigt wird, wo ich nicht ganz nachvollziehen kann, warum.....
Seite 1 1:39
Seite 2 40:78
Seite 3 79:117
wenn nur seite 1 eingeblendet ist, klappts
wenn seite 2 und 3 eingeblendet ist, klappts
wenn nur seite 2 eingeblendet ist, klappts NICHT!!!!!
Der Code ist aber bestimmt richtig......
Hast Du - Hellseher :-) - vielelicht eine ahnung warum das sein könnte?

:-)))
Pia
AW: siehst, da bin ich wieder
21.01.2004 15:30:55
Matthias G
Hallo Pia,
naja so ein Hellseher bin ich nun nicht...
Du meinst, der Code zum (De-)aktivieren der Symbole klappt nur bedingt?
Ich hab das weiter oben nicht ganz nachvollziehen können (oder wollen ;-)), welche Seite wann nicht ein- oder ausgeblendet werden darf...
Vielleicht erläuterst Du er nochmal.
Und wenn ich Glück habe (IRONIE!), dann kommst du beim Erklären selbst drauf...
liebe grüße,
Matthias
P.S. Unser Thread ist nun schon ganz schön breit, was? ;-)
und wie breit :-)
21.01.2004 15:40:34
pia
auch ein interessanter thread jetzt!!!!

ich habe dir den code ja eben geschickt......
es ist eigentlich einfach logisch:
die seiten sind untereinander: 1, 2, 3
wenn jetzt nur seite 1 eingeblendet ist und dann kann man seite 3 einblenden, wäre ja schwachsinn, dann wäre die reihenfolge der dargestellten seiten: 1, 3
um das zu verhindern, will ich die nicht benötigten symbole deaktivieren. wenn man also seite 2 einblendet, soll u.a. das symbol seite 2 und 3 ausblenden deaktiviert erden, da es ja keine seite 3 gibt........ usw........

Pia
und er wird breiter.......
ist bestimmt für andere auch interessant das hier mit zu verfolgen........ :-)
vielleicht......
21.01.2004 15:36:31
pia
kanst du helfen? du machst sowas ja öfters und hast 100%ig ein besseres verständnis dafür!!!!!
Hier mein Code:
If ActiveSheet.Rows("40:78").EntireRow.Hidden Then
Application.CommandBars("StandardSymbolleiste").Controls("2./3. ein").Enabled = True
Application.CommandBars("StandardSymbolleiste").Controls("2./3. aus").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2. ein").Enabled = True
Application.CommandBars("StandardSymbolleiste").Controls("2. aus").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("3. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("3. aus").Enabled = False
Else
Application.CommandBars("StandardSymbolleiste").Controls("2./3. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2./3. aus").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2. aus").Enabled = True
Application.CommandBars("StandardSymbolleiste").Controls("3. ein").Enabled = True
Application.CommandBars("StandardSymbolleiste").Controls("3. aus").Enabled = False
End If

If ActiveSheet.Rows("79:117").EntireRow.Hidden Then
Application.CommandBars("StandardSymbolleiste").Controls("2./3. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2./3. aus").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2. aus").Enabled = True
Application.CommandBars("StandardSymbolleiste").Controls("3. ein").Enabled = True
Application.CommandBars("StandardSymbolleiste").Controls("3. aus").Enabled = False
Else
Application.CommandBars("StandardSymbolleiste").Controls("2./3. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2./3. aus").Enabled = True
Application.CommandBars("StandardSymbolleiste").Controls("2. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2. aus").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("3. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("3. aus").Enabled = True
End If

If ActiveSheet.Rows("40:117").EntireRow.Hidden Then
Application.CommandBars("StandardSymbolleiste").Controls("2./3. ein").Enabled = True
Application.CommandBars("StandardSymbolleiste").Controls("2./3. aus").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2. ein").Enabled = True
Application.CommandBars("StandardSymbolleiste").Controls("2. aus").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("3. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("3. aus").Enabled = False
Else
Application.CommandBars("StandardSymbolleiste").Controls("2./3. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2./3. aus").Enabled = True
Application.CommandBars("StandardSymbolleiste").Controls("2. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("2. aus").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("3. ein").Enabled = False
Application.CommandBars("StandardSymbolleiste").Controls("3. aus").Enabled = True
End If

ich habe einfach das Problem, dass ich es nicht nachvollziehen kann, wann welche seite ausgeblendet wird....... das ist ein viel zu logisches denken für mich :-(

Pia
AW: vielleicht......
21.01.2004 16:09:41
Matthias G
Hallo Pia,
Eins ist mir - leider erst jetzt - aufgefallen:
Es ist - um Dich vollends zu verwirren - möglich, einen Button runtergrdückt darzustellen oder nicht:
Application.CommandBars("StandardSymbolleiste").Controls("2./3. ein").State=msoButtonDown
Application.CommandBars("StandardSymbolleiste").Controls("2./3. ein").State=msoButtonUp
Damit sparst Du dir die Hälfte der Buttons und es ist irgendwie übersichtlicher...
################ SCHNITT ####################
ODER:
-----
Wenn ich Dich richtig verstanden habe:
Es darf in jedem Blatt
entweder nur Seite 1
oder Seite 1 und Seite 2
oder Seite 1 und Seite 2 und Seite 3
eingeblendet sein. Ist das richtig?
Man könnte also das ganze auf zwei Buttons reduzieren:
Button 1: erweitern
wenn nur 1 sichtbar ist, blendet er 2 dazu
wenn 1 und 2 sichtbar sind, blendet er 3 dazu
wenn 1,2 und 3 sichtbar sind -> disabled
Button 2: reduzieren
wenn nur 1 sichtbar ist -> disabled
wenn 1 und 2 sichtbar sind, blendet er 2 aus
wenn 1,2 und 3 sichtbar sind, blendet er 3 aus
Verstehst du das?
Weil, bevor wir uns in eine Richtung verrennen, erstmal stehenbleiben und umschauen.
Du denkst zwar, ich blicke das alles - programmtechnisch vielleicht einigenmaßen - aber wenn ich nicht weiß, was Du eigentlich bezwecken willst, kann ich dir den schönsten Code basteln, der aber auch nicht der effektivste ist.
Was hälst Du von den zwei Knöpfen (erweitern/reduzieren)?
Liebe Grüße,
Matthias
P.S. Sitzt Du eigentlich im Büro?
AW: vielleicht......
21.01.2004 16:17:17
pia
als erstes: es ist alles richtig!!!!!!
mit den zwei Buttons ist ja ne supre idee... Das wäre echt klasse wenn das gehen würde.....
(was es bestimmt tut, sonst hättest Du es ja nicht vorgeschlagen!!?)
Da bin ich mal gespannt auf deinen Vorschlag und warte geduldigst.......

liebe Grüße
Pia
AW: schau mal das an
21.01.2004 17:16:40
Matthias G
Hallo, liebe Pia,
ich habe Dir mal eine Datei hochgeladen:
https://www.herber.de/bbs/user/3102.xls
Schau sie Dir mal an und gib Deinen Kommentar dazu.
Ich bin gespannt...
Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige