wenn Zelle A1 leer ist, sollen 3 Schaltflächen, die sich daneben befinden, ausgeblendet werden.
Für A2 bis A10 habe ich je ein Makro in das Tabellenmodul geschrieben.
Sobald Zelle A1(usw.) mit beliebigem Text gefüllt ist, sollen sie wieder eingeblendet werden.
Private Sub Worksheet_Activate()
If ActiveSheet.Range("A1").Value = "" Then
ActiveSheet.Shape("Schaltfläche 1").Visible = False
ActiveSheet.Shape("Schaltfläche 2").Visible = False
ActiveSheet.Shape("Schaltfläche 35").Visible = False
Else
ActiveSheet.Shape("Schaltfläche 1").Visible = True
ActiveSheet.Shape("Schaltfläche 2").Visible = True
ActiveSheet.Shape("Schaltfläche 35").Visible = True
End If
End Sub
Das hat, als nur ein Makro im Modul stand mal funktioniert, mal nicht.
Als ich es für alle 10 Zeilen geschrieben habe (je ein Makro) ging es in die Hose
und einige Schaltflächen sind verschwunden und bisher nicht wieder aufgetaucht.
Wie bekomme ich es zuverlässig hin, dass Schaltflächen verschwinden,
sobald kein Text mehr in den dazugehörigen Zellen steht, sie aber wieder auftauchen,
sobald Text eingetragen wird?
Vielleicht wichtig anzumerken ist, dass in der Zelle eine Formel steht die eigentlich aus einer anderen Zelle (für A1 z.B. Stammdaten1!C8) die Info entnimmt.
Liebe Grüße
E
P.S. um herauszufinden wie die Schaltfläche heißt benutze ich:
Public Sub CommandButton_Click()
MsgBox Application.Caller
'hier nun deine Select-Case Anweisung mit
'select case Application.Caller
' case "Schaltfläche 1": ....
'Alternativ kannst du auch eine Prozedur aufrufen
'Call Ausblenden(Application.Caller)
End Sub
Ist zwar mühsam ständig die Makros neu zuzuweisen, aber eine andere Methode ist mir bisher nicht bekannt.
Vielleicht wisst ihr da was?