Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Rahmen um jede Zelle

Rahmen um jede Zelle
17.08.2005 13:24:30
Bettina
Hi Excelspezies
wie kann man dies aufgezeichnete Makro verkürzen?

Sub Makro2()
Range("A2:K10").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub

vielen Dank im voraus Bettina
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Rahmen um jede Zelle
17.08.2005 13:36:38
Matthias
Hallo Bettina,
eigentich nicht viel, auf Kosten der Übersichtlichkeit:

Sub Makro2()
Dim i
With Range("A2:K10")
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
For i = xlEdgeLeft To xlEdgeRight
With .Borders(i)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Next i
For i = xlInsideVertical To xlInsideHorizontal
With .Borders(i)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Next i
End With
End Sub

Gruß Matthias
Anzeige
AW: Rahmen um jede Zelle
17.08.2005 13:39:32
Bettina
Hi Matthias
vielen Dank
Gruss Bettina
AW: Rahmen um jede Zelle
17.08.2005 13:57:19
Martina
hi Bettina,
so gehts auch:

Sub Makro2()
With Range("A2:K10")
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThin
.Borders.ColorIndex = xlAutomatic
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlDiagonalDown).LineStyle = xlNone
End With
End Sub

@Matthias
ja ich weiss es zeugt nicht unbedingt von gutem Programmierstil ;-)
Anzeige
AW: Rahmen um jede Zelle
17.08.2005 14:19:17
Matthias
Hallo Martina,
ja ich weiss es zeugt nicht unbedingt von gutem Programmierstil ;-)
wieso, bin ich da so pingelig?
Ich finde deine Lösung sehr schön: Erst überall Rahmen, dann die Diagonalen wieder weg. Warum nicht?
Viele Grüße,
Matthias
AW: Rahmen um jede Zelle
17.08.2005 13:44:49
IngGi
Hallo Bettina,
das müsste gehen:

Sub Rahmen()
With ActiveSheet.Range("A2:K10").Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With ActiveSheet.Range("A2:K10")
.Borders(xlDiagonalDown) = xlNone
.Borders(xlDiagonalUp) = xlNone
End With
End Sub
Gruß Ingolf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Rahmen um jede Zelle in Excel erstellen


Schritt-für-Schritt-Anleitung

Um in Excel einen Rahmen um jede Zelle zu erstellen, kannst du ein VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke Alt + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere und füge den folgenden VBA-Code in das Modul ein:

    Sub Rahmen()
       With ActiveSheet.Range("A2:K10").Borders
           .LineStyle = xlContinuous
           .Weight = xlThin
           .ColorIndex = xlAutomatic
       End With
       With ActiveSheet.Range("A2:K10")
           .Borders(xlDiagonalDown).LineStyle = xlNone
           .Borders(xlDiagonalUp).LineStyle = xlNone
       End With
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Drücke Alt + F8, um das Makro auszuführen, und wähle Rahmen.

Mit diesem Makro werden alle Zellen im Bereich A2 bis K10 mit einem dünnen, durchgehenden Rahmen versehen, und die diagonalen Linien werden entfernt.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Makroeinstellungen und aktiviere die Option.
  • Fehler: Rahmen erscheinen nicht um jede Zelle.

    • Lösung: Überprüfe, ob der angegebene Zellbereich (A2:K10) korrekt ist. Stelle sicher, dass der Bereich Zellen umfasst, die tatsächlich Daten enthalten.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch die integrierten Funktionen von Excel nutzen:

  1. Markiere den gewünschten Zellbereich (z.B. A2:K10).
  2. Gehe zu Start > Schriftart und klicke auf das Rahmensymbol.
  3. Wähle Alle Rahmen, um einen Rahmen um jede Zelle zu erstellen.

Diese Methode ist zwar weniger flexibel, eignet sich aber gut für einfache Aufgaben.


Praktische Beispiele

Hier sind einige praktische Anwendungen des VBA-Codes:

  • Rahmen um mehrere Zellen: Du kannst den Bereich im Code anpassen, um Rahmen um unterschiedliche Zellen zu setzen. Zum Beispiel:

    Sub Rahmen()
       With ActiveSheet.Range("A1:F20").Borders
           .LineStyle = xlContinuous
           .Weight = xlThin
           .ColorIndex = xlAutomatic
       End With
    End Sub
  • Rahmen für jede Zelle: Um jede Zelle im Arbeitsblatt zu rahmen, kannst du die Zeile anpassen:

    Sub AlleRahmen()
       With ActiveSheet.Cells.Borders
           .LineStyle = xlContinuous
           .Weight = xlThin
           .ColorIndex = xlAutomatic
       End With
    End Sub

Tipps für Profis

  • VBA optimieren: Versuche, den Code so effizient wie möglich zu gestalten. Zum Beispiel kannst du den gesamten Rahmen auf einmal setzen, anstatt jede Kante einzeln zu definieren.

  • Verwendung von Borders.Weight: Achte darauf, den Borders.Weight zu verwenden, um die Dicke der Linien anzupassen. Dies bietet eine bessere Kontrolle über das Aussehen deiner Zellen.

  • Regelmäßige Speicherung: Vergiss nicht, deine Excel-Datei regelmäßig zu speichern, während du mit VBA arbeitest, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich die Farbe der Rahmenlinien ändern?
Du kannst die Farbe der Rahmenlinien ändern, indem du die .ColorIndex-Eigenschaft im VBA-Code anpasst. Zum Beispiel:

.ColorIndex = 3 ' Rot

2. Funktioniert dieser VBA-Code in allen Excel-Versionen?
Ja, dieser Code sollte in den meisten modernen Excel-Versionen (z.B. Excel 2010, 2013, 2016, 2019 und Office 365) funktionieren.

3. Gibt es eine Möglichkeit, Rahmen um Zellen ohne VBA zu erstellen?
Ja, du kannst den Bereich in Excel auswählen und dann im Menü Start > Schriftart die Rahmenoptionen verwenden.

4. Wie kann ich das Makro anpassen, um nur bestimmte Zellen zu rahmen?
Du kannst den Zellbereich im Code ändern, um nur die gewünschten Zellen zu rahmen, z.B. Range("A2:B5").

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