Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
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
Inhaltsverzeichnis

Userform-Buttons ein-ausblenden

Userform-Buttons ein-ausblenden
28.02.2016 16:28:35
Helmut

Hallo Helfer :-)
ich komme einfach nicht weiter-trotz vieler Versuche...
Problem:
1 Userform mit 20 CommandButton
5 Blätter in der Datei
jeweils 4 Buttons in der UF sind pro Blatt mit Makro bestückt
Userform immer sichtbar
Wunsch:
ich möchte bei Blattwechsel nur die Buttons aktiv, die auf dieses Blatt
zugreifen,die andern Buttons inaktiv.
zB.: Blatt 1 aktiv, Button 1-4 aktiv, Blatt 2 aktiv, Button 5-8 aktiv usw...
Wer kann Hilfestellung geben?
Gruß Helmut

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform-Buttons ein-ausblenden
28.02.2016 16:40:13
Hajo_Zi
Hallo Helmut,
beim Start der Userform, ist es schon gelöst.
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim ObCb As Object
For Each ObCb In UserForm1.Controls
If TypeName(ObCb) = "CommandButton" Then
If ObCb.Tag = ActiveSheet.Name Then
ObCb.Visible = True
Else
ObCb.Visible = False
End If
End If
Next ObCb
End Sub
Es wurde Extra keine Datei verlinkt, da die Lösung selber an die Bedingungen angepasst werden sollte.
Ich bin dann raus, da Lösung erstellt.

Anzeige
Hajo,danke-aber da tut sich nichts....
28.02.2016 17:28:50
Helmut
Hallo,
zB.: hier: If ObCb.Tag = ActiveSheet.Name Then
wie kommt der Sheet.Name in den ObCb.Tag ???
und wieso ist das beim Start der UF gelöst?
Gruß Helmut

AW: Hajo,danke-aber da tut sich nichts....
28.02.2016 18:32:08
Daniel
HI
du musst manuell beim Erstellen der Userform für jeden Commandbutton den Tabellenblattnamen des Blattes, bei dem der Button aktiv sein soll, in die Eigenschaft "Tag" eintragen. Das machst du in der Eigenschaftsliste.
Gruß Daniel

AW: ...auch an HaJo
28.02.2016 17:49:34
Oberschlumpf
Hi alle
@HaJo:
Sorry, aber deine "Hilfe" (das Wort kann ich hier nicht ohne "" schreiben) ist für Leute mit nur wenig Excel-Wissen - nicht - hilfreich.
Dreh den Spieß doch mal um und stell dir eine Situation/ein Thema vor, bei dem - DU - fast oder gar keine Ahnung von hast.
Dann stell dir vor, du bittest jemanden, weil du bei dem Thema, bei dem du keine Ahnung hast, um Hilfe.
Dieser jemand zeigt dir einen Code, von dem du vielleicht 2 oder 3 Befehle vielleicht schon mal gesehen, aber längst noch nicht verstanden hast.
Zusätzlich erklärt dieser jemand zwar, wo der Code stehen muss und auch, wie das geht.
Aber - was genau - der Code tut, das erklärt dieser jemand nicht.
Jetzt - HaJo - will ich dich mal sehen, wie du mit sooo einer Hilfe klar kommst, bei einem Thema, in dem du dich fast bis gar nicht auskennst!
@Helmut:
Du wirst nicht daran vorbeikommen, uns mal eine Bsp-Datei mit Bsp-Daten und vor allem auch dem Userform mit all den Button und sonstigen, notwendigen Steuerelementen - per Upload - zu zeigen.
Denn ich bin bei mir sicher (bei den anderen möglichen Antwortern bin ich vielleicht sicher), dass niemand deine Datei nachbauen wird...allein schon wegen 20 Button.
Vielleicht finden wir ja dann eine Lösung. Und vielleicht passt auch der Code von HaJo. Aber ohne Datei weiß ich das auch noch nicht.
Ciao
Thorsten

Anzeige
Datei meiner Meinung....
28.02.2016 18:10:16
Helmut
Hallo,
... nicht notwendig-sorry :-)
Also-egal wie viele Buttons vorhanden sind, wenn ich auf Blatt 1 wechsle,
sollen von den zig-Buttons nur zB. 1-4 sichtbar sein-oder inaktiv.
Wenn ich von Blatt1 auf Blatt3 wechsle, sollen zB. nur Button 9-12 sichtbar sein.
Daher-es sollen nur die vom Blatt abhängigen Buttons aktiv(sichtbar) sein.
Hoffe, es geht ohne Datei ;-)
Gruß Helmut

Nun denn:
28.02.2016 18:58:23
RPP63
Wenn Du keine Datei hochladen willst, Thorsten …
… zeige ich Dir einen Code, der genau in meiner Datei funktioniert:
Private Sub UserForm_Initialize()
Dim BlattIdx As Byte, BtnNo As Byte
BlattIdx = Worksheets(ActiveSheet.Name).Index
For BtnNo = 1 To 20
Me.Controls("CommandButton" & BtnNo).Enabled = False
Next
For BtnNo = (4 * BlattIdx) - 3 To 4 * BlattIdx
Me.Controls("CommandButton" & BtnNo).Enabled = True
Next
End Sub
Gruß Ralf

Anzeige
ergänzend …
28.02.2016 19:17:00
RPP63
… da das UserForm ja nicht-modal ist, vergiss obigen Code und nimm:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim BlattIdx As Byte, BtnNo As Byte
BlattIdx = Worksheets(Sh.Name).Index
For BtnNo = 1 To 20
UserForm1.Controls("CommandButton" & BtnNo).Enabled = False
Next
For BtnNo = (4 * BlattIdx) - 3 To 4 * BlattIdx
UserForm1.Controls("CommandButton" & BtnNo).Enabled = True
Next
End Sub
Gruß Ralf

OK, kleine Beispieldatei...
28.02.2016 19:22:26
Helmut
Hallo,
ich hoffe, dass es jetzt besser verständlich ist :-)
https://www.herber.de/bbs/user/103958.xls
PS: Thorsten ist unschuldig... ;-)
Gruß Helmut

Anzeige
Hallo Helmut;-)
28.02.2016 19:31:10
RPP63
Warum hast Du meine Codes nicht ausprobiert?
Im Eröffnungspost war noch von einem nicht-modalen UF die Rede.
Meine Übungsdatei im Anhang.
https://www.herber.de/bbs/user/103959.xlsm
Gruß Ralf

Herzlichen Dank ;-) den Helfern...
28.02.2016 20:04:21
Helmut
Hallo,
habe den Test von Ralf erst später getestet, die Berechnung war mir etwas
unklar ;-), aber jetzt hab ich ja die Lösung lt.Beispieldatei von Ralf.
Nochmals danke und Gruß
Helmut

Hilfe für dich meiner Meinung...
28.02.2016 22:43:17
Oberschlumpf
...nach nicht wieder erforderlich!
Aber du bist aus meiner ich-will-helfen-Liste raus!
DU schaffst es nicht - MIT DATEI - eine Lösung für dein Problem zu finden, hältst es aber für - nicht erforderlich - erwartest von uns also - OHNE DATEI - eine Lösung?????
Tja Baby, wenn DU zu faul bist, eine qualifizierte Frage zu stellen (so etwas beinhaltet auch Bsp-Dateien), dann hilf dir selbst + alleine!
Schade, dass du trotzdem - qualitativ gute! - Hilfe erhalten hast...

Anzeige
He,was ist los Oberschlumpf?
29.02.2016 08:30:25
Helmut
Hallo,
warum liest Du nicht alle Antworten von mir ?
1. habe ich eine Beispieldatei hochgeladen
2. finde ich, dass meine Beschreibung des Wunsches recht deutlich war.
...bei Blattwechsel sollen von den 20 Buttons jeweils nur 4 aktiv sein-
nämlich jene, die per Makro auf diesem Blatt etwas machen.
Meine Frau, die keine ! Ahnung von Excel und VBA hat, hat das verstanden :-)
Also, komm wieder runter, ob Du mir helfen willst oder nicht,
ist Deine Sache, ich kann damit leben.
Gruß Helmut

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige