Live-Forum - Die aktuellen Beiträge
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
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige