Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Selection.HorizontalAlignment = xlCenter

Forumthread: Selection.HorizontalAlignment = xlCenter

Selection.HorizontalAlignment = xlCenter
16.11.2004 13:14:37
Steve
Folgendes Makro liefert einen Laufzitfehler - allerdings nur, wnn ich es von einem Button aus einer Tabelle starte. Aus dem Editor funktioniert es einwandfrei - dazu gibt es schon eine info auf https://www.herber.de/forum/archiv/408to412/t409874.htm Diese hilft mir allerdings nicht wirklich weiter (EXCEL 97?).

Private Sub CommandButton1_Click()
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 100, 100, 50, 50).Name = "formEins"
ActiveSheet.Shapes.Range("formEins").Select
Selection.Characters.Text = "Textfeld"
Selection.HorizontalAlignment = xlCenter     REM hier hängt er dann ...
End Sub

Bitte um Abhilfe. LG Steve
Anzeige
AW: Selection.HorizontalAlignment = xlCenter
Sven
TakeFocusOnClick des Button mal auf False einstellen?
mfg Sven
AW: Selection.HorizontalAlignment = xlCenter
EtoPHG
Hallo Steve,
Versuchs damit:

Private Sub CommandButton1_Click()
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 100, 100, 50, 50).Select
Selection.Characters.Text = "Textfeld"
Selection.HorizontalAlignment = xlCenter
Selection.Name = "formEins"
End Sub

Anzeige
AW: Selection.HorizontalAlignment = xlCenter
Steve
Danke für den Vorschlag - aber das hat bei den selben Effekt. Es läßt sich im Editor ausführen, nicht aber aus einem Button auf einer Tabelle.
AW: Selection.HorizontalAlignment = xlCenter
Tim
Erst die Antworten lesen, dann ggf. wieder als offen markieren.
Tim
AW: Selection.HorizontalAlignment = xlCenter
16.11.2004 14:56:15
Steve
Folgendes Makro liefert einen Laufzitfehler - allerdings nur, wnn ich es von einem Button aus einer Tabelle starte. Aus dem Editor funktioniert es einwandfrei - dazu gibt es schon eine info auf https://www.herber.de/forum/archiv/408to412/t409874.htm Diese hilft mir allerdings nicht wirklich weiter (EXCEL 97?).

Private Sub CommandButton1_Click()
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 100, 100, 50, 50).Name = "formEins"
ActiveSheet.Shapes.Range("formEins").Select
Selection.Characters.Text = "Textfeld"
Selection.HorizontalAlignment = xlCenter     REM hier hängt er dann ...
End Sub

Anzeige
AW: Selection.HorizontalAlignment = xlCenter
Steve
Die Lösung ist: Deaktivierte TakeFocus Funktion des Buttons. - Danke trotzdem für Eure Hilfe
AW: Selection.HorizontalAlignment = xlCenter
Tim
Die Antwort hat dir Sven schon vor 2 Stunden gegeben.
Tim
;
Anzeige

Infobox / Tutorial

Auswahl der horizontalen Ausrichtung in Excel VBA


Schritt-für-Schritt-Anleitung

Um die horizontale Ausrichtung eines Textfeldes in Excel VBA korrekt zu setzen, kannst du folgendes Makro verwenden. Achte darauf, dass du die TakeFocusOnClick-Eigenschaft des Buttons auf False setzt, um Laufzeitfehler zu vermeiden.

  1. Öffne den VBA-Editor in Excel (drücke ALT + F11).
  2. Füge einen neuen Button auf deinem Arbeitsblatt hinzu.
  3. Klicke mit der rechten Maustaste auf den Button und wähle "Code anzeigen".
  4. Füge den folgenden Code ein:
Private Sub CommandButton1_Click()
    ActiveSheet.Shapes.AddShape(msoShapeRectangle, 100, 100, 50, 50).Name = "formEins"
    ActiveSheet.Shapes.Range("formEins").Select
    Selection.Characters.Text = "Textfeld"
    Selection.HorizontalAlignment = xlCenter ' Hier wird die horizontale Ausrichtung gesetzt
End Sub
  1. Stelle sicher, dass die TakeFocusOnClick-Eigenschaft des Buttons auf False gesetzt ist. Dies kannst du im Eigenschaftenfenster des Buttons überprüfen.

Häufige Fehler und Lösungen

  • Laufzeitfehler beim Ausführen des Makros: Dies geschieht häufig, wenn der Button die Fokussierung aufnimmt. Setze die TakeFocusOnClick-Eigenschaft des Buttons auf False, um diesen Fehler zu beheben.

  • Das Textfeld wird nicht richtig ausgerichtet: Stelle sicher, dass du die richtige Form auswählst, bevor du die HorizontalAlignment-Eigenschaft anwendest. Verwende Selection.HorizontalAlignment = xlCenter, um die Ausrichtung auf die Mitte zu setzen.


Alternative Methoden

Es gibt auch alternative Wege, um die horizontale Ausrichtung in Excel VBA zu setzen:

  • Direktes Setzen der Eigenschaften: Anstatt Selection zu verwenden, kannst du die Eigenschaft direkt auf das Objekt anwenden:
With ActiveSheet.Shapes("formEins")
    .TextFrame.Characters.Text = "Textfeld"
    .TextFrame.HorizontalAlignment = xlCenter
End With
  • Verwendung von range.horizontalalignment: Wenn du mit Zellen arbeitest, kannst du die Ausrichtung direkt auf den Zellbereich anwenden:
Range("A1").HorizontalAlignment = xlCenter

Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, die HorizontalAlignment-Eigenschaft effektiv zu nutzen:

  1. Zellen ausrichten:

    Range("A1:B2").HorizontalAlignment = xlCenter
  2. Textfeld erstellen und ausrichten:

    Dim shp As Shape
    Set shp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 100, 100, 100, 50)
    shp.TextFrame.Characters.Text = "Beispieltext"
    shp.TextFrame.HorizontalAlignment = xlCenter

Tipps für Profis

  • Verwende Konstanten: Anstatt die Werte direkt einzugeben, nutze die vordefinierten Konstanten wie xlCenter, um deinen Code lesbarer zu machen.

  • Fehlermeldungen abfangen: Implementiere On Error Resume Next, um Laufzeitfehler abzufangen und den Code robuster zu gestalten.

On Error Resume Next
Selection.HorizontalAlignment = xlCenter
On Error GoTo 0
  • Teste deinen Code: Teste immer, ob der Code aus verschiedenen Kontexten (z.B. von einem Button oder direkt im VBA-Editor) funktioniert.

FAQ: Häufige Fragen

1. Warum funktioniert mein Makro nicht, wenn ich es über einen Button starte? Der häufigste Grund dafür ist, dass der Button die Fokussierung aufnimmt. Setze die TakeFocusOnClick-Eigenschaft auf False.

2. Kann ich die horizontale Ausrichtung auch für andere Objekte setzen? Ja, du kannst die HorizontalAlignment-Eigenschaft für Textfelder, Formen und auch Zellen in Excel verwenden.

3. Welche Excel-Version benötige ich für die Verwendung dieser Funktionen? Die beschriebenen Funktionen sind in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2007 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige