Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1632to1636
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

Aktiviertes Shape finden

Aktiviertes Shape finden
04.07.2018 11:49:25
Dietmar
Hallo,
ich habe in einem Register mehrere Shapes (Textboxen). Alle Namen der Textboxen auslesen ist kein Problem. Wenn ich aber eine oder mehrere Textboxen mit der Maus anklicke sind sie auf dem Bildschirm als angewählt sichtbar (die Bearbeitungspunkte werden sichtbar). Wie kann ich per VBA bestimmen welche der Textboxen aktiviert ist? Sinn der Aktion: ich möchte per Makro eine Form (Pfeil) an die markierte Textbox (und nur an diese) hinzufügen (dieser Teil klappt auch schon, wenn ich den Namen kenne).
Kann mir da jemand helfen?
Viele Grüße,
Dietmar

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktiviertes Shape finden
04.07.2018 18:35:06
ChrisL
Hi Dietmar
Ein Shape mit Rechtsklick selektieren ist nach meinem Verständnis sowas wie ein Wechsel in den Bearbeitungs-/Entwurfsmodus. Ich glaube darum nicht, dass du das mit Standardmitteln auswerten kannst.
Man könnte die "Selektion" anderweitig vornehmen z.B. "x" in die Zelle daneben schreiben und ein Bezug zwischen Zelle und Shape herstellen (z.B. über Namen/Nummerierung).
Als einmaliges Anliegen für den Dateiaufbau kann ich deine Idee verstehen. Im Sinne einer Lösung für den Endbenutzer nicht (da muss es andere Alternativen geben).
cu
Chris
AW: Aktiviertes Shape finden
04.07.2018 18:58:30
Mullit
Hallo,
versuchs mal hiermit...
Option Explicit

Public Sub test()
Dim objTextBox As Excel.TextBox
Dim strText As String
If TypeOf Selection Is Excel.DrawingObjects Then
   For Each objTextBox In Selection
       strText = strText & objTextBox.Name & vbCr
   Next
   If strText <> vbNullString Then Call MsgBox(strText, vbExclamation)
ElseIf TypeOf Selection Is Excel.TextBox Then
   Set objTextBox = Selection
   Debug.Print objTextBox.Name
End If
Set objTextBox = Nothing
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
AW: Aktiviertes Shape finden
04.07.2018 19:24:30
Dietmar
Hallo Mullit,
vielen Dank: funktioniert hervorragend!
Mir ist allerdings nicht klar warum bei 2 aktivierten Textboxen der If-Block greift und bei nur einer der ElseIf-Block?
Wäre aber weiter nicht schlimm, da ich ja nur einen Verbindungspfeil einfügen möchte, wenn nur eine einzige Textbox markiert ist.
Viele Grüße,
Dietmar
AW: Aktiviertes Shape finden
04.07.2018 21:31:26
Mullit
Hallo Dietmar,
prima, bei selektierten Textboxen >= 2 ist das Selection-Objekt vom Typ der DrawingObjects-Aufzählung; eine einzelne Box ist dann nicht mehr aktiv und Du mußt sie mit einer Schleife durchlaufen...
Ich wußte jetzt nicht was Du haben wolltest, wenn Du's also nur für eine Box benötigst, nimmst Du nur den zweiten Teil der If-Anw. und fragst auf Excel.TextBox als Typ des Selection-Objekts ab, mehrere Boxen werden dann automat. ausgeschlossen...
Gruß, Mullit
Anzeige
AW: Aktiviertes Shape finden
05.07.2018 00:06:05
Dietmar
Hallo Mullit,
nochmals danke für die Erklärung.
Jetzt läuft's.
Viele Grüße
Dietmar

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige