13.1k Aufrufe
Gefragt in Tabellenkalkulation von
Guten Tag,
ich habe ein vermeintlich kleines Problem (dachte ich zumindest), bei dem ich jetzt leider aufgeben muß, wenn Ihr mir nicht helfen könnt.
Ich habe in einer Datei ein Textfeld erstellt und mit einem Bild ausgefüllt als Hintergrund.
Außerdem habe ich mit Zeichnen einen Kreis gemalt, den ich farblich ausgefüllt habe. Dieser Kreis soll nun dafür dienen, dass wenn ich auf den Kreis klicke das Textfeld ein- bzw. ausgeblendet wird. Das ausblenden soll nicht durch erneutes anklicken geschehen, sondern automatisch (sagen wir mal nach 10 sec.) erfolgen. Heißt also bei erneutem anklicken des Kreises soll das Textfeld erneut eingeblendet werden und wieder automatisch verschwinden.
Das einzigste was ich bisher gefunden habe ist von einem User im Forum folgendes:
- Textfeld per Button ein- und ausblenden -
Private Sub CommandButton1_Click()
If CommandButton1.Caption = "einblenden" Then
TextBox1.Visible = True
CommandButton1.Caption = "ausblenden"
Else
TextBox1.Visible = False
CommandButton1.Caption = "einblenden"
End If
End Sub
Das scheitert aber leider schon daran, dass wenn ich den Kreis mit re. Maustaste anklicke und Makro zuweisen sage, mir das Makro gar nicht als Option angeboten wird.
Bitte helft mit dieses Problem zu lösen.
Gruß Flodnug

7 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

schreibe das folgende Makro in ein allgemeinse Modul und weise es dem Kreis zu:

Sub AusEinbelnden()
ActiveSheet.Shapes("Textfeld 1").Visible = True
DoEvents
Application.Wait Now + TimeValue("00:00:10")
ActiveSheet.Shapes("Textfeld 1").Visible = False
End Sub


Name des Textfelds musst du eventuell anpassen.

Bis später,
Karin
0 Punkte
Beantwortet von
Hallo Karin,
vielen Dank für Deine Antwort. Leider hat es nicht funktioniert.
Zwar konnte ich wenigsten dem Kreis das Makro zuweisen, aber es ist nur folgendes passiert: Nach anklicken des Kreises durfte ich 10sec warten ohne das etwas passiert wäre. Dann flackerte für den Bruchteil einer Sekunde das Textfeld auf und verschwand wieder.
Vielleicht findest Du eine Erklärung.
Auf alle Fälle nochmal Dank für Deine Bemühungen.
Gruß Flodnug
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

das kann ich leider nicht nachvollziehen. Bei Klick auf den Keis erscheint das Textfeld, bleibt 10 Sekunden sichtbar und verschwindet wieder.
Welche Excelversion verwendest du?

Bis später,
Karin
0 Punkte
Beantwortet von
Hallo Karin,
danke erstmal für Deine Antwort.
Bin jetzt wieder auf Arbeit und kann daher erst jetzt antworten.
Also hier auf Arbeit arbeite ich mit 2007.
War aber am Wochenende fleißig und habe einiges probiert.
Die beste Lösung, die mir gelungen ist war folgende. Habe Textfeld mit Hintergrundbild und Text angelegt. Dann habe ich Hintergrund und Text auf keine Füllungen gesetzt. Danach den Makrorecorder angestellt und während der Aufzeichnung Füllungen wieder aktiviert.
Das hat soweit funktioniert. Nur zeigt er mir beim aktivieren des Makros nur den Text und nicht den Hintergrund mit an. Hast Du vielleicht eine Idee, woran das liegt.
Hier der Makrocode:
Sub Bild1()
'
' Bild1 Makro
'

'Selection.End(xlUp).Select
Range("A5").Select
ActiveSheet.Shapes.Range(Array("Textfeld 5")).Select
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 71).Font.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Solid
End With
Range("D29").Select
End Sub

Gruß Flodnug und Danke für Deine Bemühungen.
0 Punkte
Beantwortet von
Hallo Karin,
habe noch vergessen zu sagen, daß ich zu Hause mit 2010 arbeite und das hier auf Arbeit mir das Makro nicht mal mehr den Text anzeigt.
Gruß Flodnug
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

mit deinem Makro weist du nur dem Text eine Schriftfarbe zu, nicht jedoch dem Textfeld ein Hintergrundbild.

Excel2007 zeichnet - im Gegensatz zu den Vorgängerversionen und Excel2010 - keine Aktionen innerhalb von Shapes (und einer Reihe anderer eingebetteter Objekte) auf.

Bis später,
Karin
0 Punkte
Beantwortet von
Hallo Karin,
vielen, vielen Dank für Deine Mithilfe und Erklärungen. Auch wenn ich mein Problem nicht auf die ursprüngliche Weise lösen konnte, hat es mir einiges verständlicher gemacht und mich zumindest auf einen anderen Lösungsweg gebracht, der nicht ganz so elegant aber genau so akzeptabel ist.
Nochmals vielen Dank und einen schönen Restsommer.
Flodnug
...