AW: Worksheet_SelectionChange
05.11.2007 20:46:12
Daniel
Hi
zur ersten Frage:
IF Intersect(Target, Range("$B$5:$B$49")) is nothing then
Worksheets("Tabelle1").Shapes("Listenfeld1").Visible = False
else
Worksheets("Tabelle1").Shapes("Listenfeld1").Visible = True
end if
oder kürzer:
Worksheets("Tabelle1").Shapes("Listenfeld1").Visible = Not Intersect(Target, Range("$B$5:$B$49")) is nothing
zur 2. Frage
wenn ich dein Makro richttig verstehe, dann wird das Listenfeld in eine anderen Tabellenblatt ein/ausgeblendet ?
Wenn das so ist, und der Benutzer den Namen des Tabellenblatts ändern kann, dann könntest du das Sheet auch über seine Objektbezeichnung ansprechen (das ist was anderes als der Name von der Registerkarte).
die Objektbezeichnung steht in der Baumstruktur des Objekt-Explores VOR der Klammer, der Name von der Registerkarte IN der Klammer.
in der Eigensschaftsliste ist das lustigerweise umgekehrt, da findest du die Objektbezeichnung unter der ersten Eigenschaft "(Name)", den Registerkartennamen dagegen unter der Eigenschaft "Name".
Wichtig ist, die Objektbezeichnung kann nur über den VBA-Edtior geändert werden und nicht vom Anwender in Excel und ist daher für deinen Wunsch die geeignete Lösung.
Das ganze sieht dann so aus:
Tabelle1.Shapes("Listenfeld1").Visible = False
Gruß, Daniel