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

Zellen ausrichten mit VBA

Forumthread: Zellen ausrichten mit VBA

Zellen ausrichten mit VBA
15.12.2003 19:28:31
Stefan Glander
Hallo Excelanier,
ich habe foldenden Code in einem Modul hinterlegt:Option Explicit


Option Explicit

Sub unColour_Cells(myR As Integer)
' myR für die Zeile wird von der Checkbox übergeben
' 4 und 8 kennzeichnen die Spalten die du markieren willst
With Range(Cells(myR, 12), Cells(myR, 16))
    .Interior.ColorIndex = 47   '3 = Rot
    'Die Rahmen kannst du ja anpassen
    With .Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 55
    End With
    With .Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 55
    End With
    With .Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 55
    End With
    With .Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 55
    End With
        With .Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 55
    End With
    With .Font
        .Name = "Thahoma"
        .FontStyle = "Standard"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 2
       End With
End With
End Sub

Nun möchte ich auch noch das die betreffenden Zellen auch noch Vertikal zentriert werden.
wenn ich nun folgenden Code anfüge bekomme ich aber eine Fehlermeldung


    With Selection
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With

     Code eingefügt mit Syntaxhighlighter 2.5


Kann mir jemand sagen wie der Code richtig lauten muss?
Gruss
Stefan Glander
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen ausrichten mit VBA
15.12.2003 20:21:06
Günther Abel
Hallo Stefan

du kannst das hier einbauen:



.      ColorIndex = 55
  End With
  With .Font
     .Name = "Thahoma"
     .FontStyle = "Standard"
     .Size = 12
     .Strikethrough = False
     .Superscript = False
     .Subscript = False
     .OutlineFont = False
     .Shadow = False
     .Underline = xlUnderlineStyleNone
     .ColorIndex = 2
  End With
'  HIER:
  .VerticalAlignment = xlCenter
End With
End Sub



     Code eingefügt mit Syntaxhighlighter 2.5


Gruss und viel Erfolg

Günther
Anzeige
Problem nicht gelöst
15.12.2003 20:34:21
Stefan Glander
Hallo Günther,
Das funktioniert so leider nicht.
Trotzdem vielen Dank für Deine Mühe.
Gruss
Stefan Glander
AW: Problem nicht gelöst
15.12.2003 21:08:49
Ramses
Hallo Stefan

ein bischen mehr und differenzierte Kritik sollte es dann schon sein, oder woher sollen wir nun wissen was nicht funktioniert.


Option Explicit

Sub unColour_Cells(myR As Integer)
' myR für die Zeile wird von der Checkbox übergeben
' 4 und 8 kennzeichnen die Spalten die du markieren willst
With Range(Cells(myR, 12), Cells(myR, 16))
    .Interior.ColorIndex = 47   '3 = Rot
    'Die Rahmen kannst du ja anpassen
    With .Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 55
    End With
    With .Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 55
    End With
    With .Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 55
    End With
    With .Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 55
    End With
        With .Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 55
    End With
    With .Font
        'Schriftart richtig bezeichnen !!
        .Name = "Tahoma"
        .FontStyle = "Standard"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 2
       End With
    .VerticalAlignment = xlCenter
End With
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16



Der Code funktioniert auf jeden Fall und ist mit Günthers Vorschlag identisch

Gruss Rainer
Anzeige
Alles nochmal gemach. Nun klappt es. Danke o.T.
15.12.2003 22:29:06
Stefan Glander
.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Zellen ausrichten mit VBA


Schritt-für-Schritt-Anleitung

Um die Zellen in Excel mit VBA auszurichten, kannst du folgenden Schritt-für-Schritt-Code verwenden:

  1. Öffne den VBA-Editor mit ALT + F11.

  2. Füge ein neues Modul hinzu.

  3. Kopiere den folgenden Code in das Modul:

    Option Explicit
    
    Sub unColour_Cells(myR As Integer)
        With Range(Cells(myR, 12), Cells(myR, 16))
            .Interior.ColorIndex = 47 'Farbe ändern
            With .Borders(xlEdgeLeft)
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = 55
            End With
            ' Weitere Ränder hier hinzufügen...
            With .Font
                .Name = "Tahoma"
                .Size = 12
                .Underline = xlUnderlineStyleNone
            End With
            ' Zellen ausrichten
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
        End With
    End Sub
  4. Du kannst die Zeile .VerticalAlignment = xlCenter hinzufügen, um die Zellen vertikal zu zentrieren.


Häufige Fehler und Lösungen

  • Fehlermeldung bei .VerticalAlignment: Stelle sicher, dass du den Code innerhalb des richtigen With-Blocks eingefügt hast. Wenn Excel die Ausrichtung nicht annehmen kann, könnte es an der vorherigen Formatierung liegen.

  • excel text ausrichten funktioniert nicht: Überprüfe, ob die Zellen, die du ausrichten möchtest, als Text formatiert sind oder ob es eine andere Formatierung gibt, die die Ausrichtung beeinflusst.


Alternative Methoden

  1. Excel Kontrollkästchen mittig ausrichten: Du kannst das Kontrollkästchen auch manuell ausrichten, indem du mit der rechten Maustaste darauf klickst und die Eigenschaften anpasst.
  2. Formatierungsoptionen in Excel: Nutze die „Start“-Registerkarte in Excel, um die Zellen schnell zu formatieren, ohne VBA verwenden zu müssen.

Praktische Beispiele

  • Beispiel für die horizontale und vertikale Zellenanpassung:

    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = False
        .ShrinkToFit = False
    End With
  • Um ein Kontrollkästchen in einer Zelle ausrichten, kannst du den folgenden Code verwenden:

    ActiveSheet.CheckBoxes("CheckBox1").Top = Cells(1, 1).Top + (Cells(1, 1).Height - ActiveSheet.CheckBoxes("CheckBox1").Height) / 2
    ActiveSheet.CheckBoxes("CheckBox1").Left = Cells(1, 1).Left + (Cells(1, 1).Width - ActiveSheet.CheckBoxes("CheckBox1").Width) / 2

Tipps für Profis

  • Verwende die Konstanten wie xlCenter, xlThin, usw. anstelle von den numerischen Werten, um den Code leserlicher zu machen.
  • Überprüfe, ob die Schriftart „Tahoma“ korrekt geschrieben ist, da eine falsche Schreibweise zu Fehlern führen kann.

FAQ: Häufige Fragen

1. Wie kann ich die Zellen linksbündig ausrichten?
Du kannst .HorizontalAlignment = xlLeft in deinem VBA-Code verwenden.

2. Was kann ich tun, wenn die Ausrichtung nicht funktioniert?
Stelle sicher, dass die Zellen nicht gesperrt sind und die richtige Formatierung haben. Überprüfe auch, ob andere Formatierungen die Zellen beeinflussen.

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