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

alle Zellen mit Rahmen versehen

Forumthread: alle Zellen mit Rahmen versehen

alle Zellen mit Rahmen versehen
27.08.2008 11:14:00
Walter
Guten Morgen,
habe mal dieses Makro, zwecks Rahmen um jede Zelle, aufgezeichnet.
Das letzte "Stück" mußte ich "rausnehmen" war abbruch.
Kann man dieses Makro auch irgendwie abkürzen ?
z = Range("BQ3").End(xlDown).Row
ActiveSheet.Range(Cells(4, 66), Cells(z, 96)).Select
'-------------- hier die Zellenformatierung ---------------
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
'----------------------------------------------------------
mfg walter mb
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: alle Zellen mit Rahmen versehen
27.08.2008 11:22:18
Hajo_Zi
Hallo walter,
in VBA kann zu 99,9% auf select usw.- verzichtet werden.

Option Explicit
Sub Walter()
Dim Z As Long
Z = Range("BQ3").End(xlDown).Row
With ActiveSheet.Range(Cells(4, 66), Cells(Z, 96))
'-------------- hier die Zellenformatierung ---------------
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With .Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With .Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End With
End Sub



Anzeige
Danke, hatte gedacht...
27.08.2008 11:44:00
Walter
Hallo Hajo,
danke für den Hinweis, hatte gedacht man könnte die Erstellung der Rahmen
um die Zellen kürzer, durchführen.
mfg walter mb
AW: Danke, hatte gedacht...
27.08.2008 11:48:28
Hajo_Zi
Hallo Walter,
man hat aus Deinen Code nicht gesehen ob schon Rahmen vorhanden. Falls Nein können die Zeilen .ColorIndex = xlAutomatic entfallen,
Gruß Hajo
Anzeige
Danke -)
27.08.2008 12:35:00
Walter
Hallo Hajo, danke !
mfg Walter mb
AW: alle Zellen mit Rahmen versehen
27.08.2008 12:10:00
Hoffi
Hallo,
VBA-Code:

Sub Makro1()
 
z = Range("BQ3").End(xlDown).Row
With ActiveSheet.Range(Cells(4, 66), Cells(z, 96)).Borders
        .LineStyle = xlContinuous
        .Weight = xlThin
End With
End Sub
Sollte es auch tun.
Grüße
Hoffi
Hallo Hoffi, geht doch ! -)
Walter

Hallo Hoffi,
DANKE !
Du bist, wie immer, GUT !
mfg Walter mb !
Anzeige
Hallo Hoffi, geht doch ! -)
27.08.2008 13:04:00
Walter
Hallo Hoffi,
DANKE !
Du bist, wie immer, GUT !
mfg Walter mb !
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zellen in Excel mit Rahmen versehen


Schritt-für-Schritt-Anleitung

Um in Excel Zellen mit einem Rahmen zu versehen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

  2. Füge ein neues Modul hinzu:

    • Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
  3. Kopiere und füge den folgenden VBA-Code ein:

    Option Explicit
    Sub RahmenUmZellen()
       Dim Z As Long
       Z = Range("BQ3").End(xlDown).Row
       With ActiveSheet.Range(Cells(4, 66), Cells(Z, 96))
           ' Rahmenlinien setzen
           .Borders.LineStyle = xlContinuous
           .Borders.Weight = xlThin
       End With
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus:

    • Drücke ALT + F8, wähle "RahmenUmZellen" und klicke auf "Ausführen".

Mit diesem Makro werden alle Zellen im angegebenen Bereich mit einem xlThin Rahmen versehen.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"

    • Lösung: Stelle sicher, dass der Bereich korrekt definiert ist. Überprüfe die Zeilen- und Spaltennummern.
  • Kein Rahmen sichtbar

    • Lösung: Überprüfe, ob der LineStyle korrekt gesetzt ist. Möglicherweise sind die Zellen bereits umrandet, was das Hinzufügen eines neuen Rahmens beeinträchtigen kann.
  • Makro funktioniert nicht

    • Lösung: Stelle sicher, dass die Makros in Excel aktiviert sind und Du die richtige Arbeitsmappe ausgewählt hast.

Alternative Methoden

Falls Du VBA nicht nutzen möchtest, kannst Du auch die Formatierungsoptionen in Excel selbst verwenden:

  1. Markiere die gewünschten Zellen.
  2. Gehe zu Start > Formatvorlagen > Rahmen.
  3. Wähle den gewünschten Rahmen aus (z.B. "Alle Rahmen").

Diese Methode ist besonders nützlich, wenn Du nur wenige Zellen formatieren möchtest.


Praktische Beispiele

Hier sind einige Beispiele, wie Du verschiedene Arten von Rahmen mit VBA setzen kannst:

  • Alle Rahmen um mehrere Zellen:

    With ActiveSheet.Range("A1:C10").Borders
       .LineStyle = xlContinuous
       .Weight = xlThin
    End With
  • Nur unteren Rahmen setzen:

    With ActiveSheet.Range("A1").Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .Weight = xlThin
    End With

Tipps für Profis

  • Verwende xlThin für dünne Rahmenlinien, um ein sauberes und professionelles Aussehen zu erzielen.

  • Nutze Schleifen in VBA, um Rahmen um mehrere Zellen in verschiedenen Bereichen zu setzen.

    Dim i As Integer
    For i = 1 To 10
       With Cells(i, 1).Borders
           .LineStyle = xlContinuous
           .Weight = xlThin
       End With
    Next i
  • Teste Deine Makros in einer Testdatei, um Fehler zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich einen Rahmen nur für bestimmte Seiten setzen? Du kannst den Rahmen nur für die gewünschten Kanten (z.B. xlEdgeTop, xlEdgeBottom) setzen, anstatt für alle Seiten gleichzeitig.

2. Was ist der Unterschied zwischen xlThin und xlThick? xlThin erstellt dünne Linien, während xlThick dickere Linien für einen markanteren Rahmen verwendet.

3. Kann ich Rahmen um Zellen in einem bestimmten Arbeitsblatt setzen? Ja, du kannst das Arbeitsblatt im VBA-Code spezifisch angeben, indem Du Worksheets("SheetName").Range(...) verwendest.

4. Wie kann ich bestehende Rahmenlinien entfernen? Verwende die LineStyle-Eigenschaft und setze sie auf xlNone, um die Rahmenlinien zu entfernen.

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