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

Forumthread: VBA: befüllten Bereich einrahmen

VBA: befüllten Bereich einrahmen
26.02.2020 09:16:44
Axel
Hallo zusammen,
ich möchte den befüllten Bereich ab einer bestimmten Stelle (A12) identifizieren lassen und Rahmen setzen.
Im Netz habe ich einige Anregungen gefunden, kann die aber nicht auf meine Anforderung umsetzen.
In folgender Datei habe ich ein Makro "usedRange" angefangen, das aber nicht funktioniert.
https://www.herber.de/bbs/user/135442.xlsm
Zwei Makros aus der Datei sind bereits ausgeführt, jetzt muss nur noch der befüllte Bereich, der variieren kann, komplett mit Rahmen versehen werden.
Ich bin leider nicht der VBA Profi, der den Code korrekt schreiben könnte und erbitte mal wieder eure Hilfe.
Vielen Dank vorab und beste Grüße
Axel
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA: befüllten Bereich einrahmen
26.02.2020 09:25:43
Nepumuk
Hallo Axel,
teste mal:
Option Explicit
Public Sub Rahmen_setzen()
Call Range(Cells(12, 1), Cells(Rows.Count, 5).End(xlUp)) _
.BorderAround(LineStyle:=xlContinuous, Weight:=xlThin, Color:=vbBlack)
End Sub

Gruß
Nepumuk
AW: VBA: befüllten Bereich einrahmen
26.02.2020 09:57:43
Axel
Hallo Nepumuk,
vielen Dank für die schnelle Hilfe. Ich dachte, das wird ein ellenlanger Code und es sind gerade mal 2 Zeilen...
Dein Makro funktioniert.
Ich glaube, ich hatte mich an einer Stelle nicht deutlich ausgedrückt. Es sollen alle Rahmen im Bereich gesetzt werden.
Gibt es eine einfachere Lösung als jede Linie separat aufzuführen:
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
so wie Dein .BorderAround? Ich hab im Netz nichts gefunden.
Vielen Dank noch mal!
Axel
Anzeige
AW: VBA: befüllten Bereich einrahmen
26.02.2020 10:09:48
Nepumuk
Hallo Axel,
so?
Option Explicit
Public Sub Rahmen_setzen()
Dim enmBordersIndex As XlBordersIndex
With Range(Cells(12, 1), Cells(Rows.Count, 5).End(xlUp))
Call .BorderAround(LineStyle:=xlContinuous, Weight:=xlThin, Color:=vbBlack)
For enmBordersIndex = xlInsideVertical To xlInsideHorizontal
With .Borders(enmBordersIndex)
.LineStyle = xlContinuous
.Weight = xlThin
.Color = vbBlack
End With
Next
End With
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA: befüllten Bereich einrahmen
26.02.2020 10:19:36
Axel
Nepumuk, sehr geil!
Wenn ich die Rahmen bis Spalte I setzen will, hatte ich gedacht, ich ersetze die 5 einfach durch 9, aber das funktioniert nicht:
Public Sub Rahmen_setzen()
Dim enmBordersIndex As XlBordersIndex
With Range(Cells(12, 1), Cells(Rows.Count, 9).End(xlUp))
Call .BorderAround(LineStyle:=xlContinuous, Weight:=xlThin, Color:=vbBlack)
For enmBordersIndex = xlInsideVertical To xlInsideHorizontal
With .Borders(enmBordersIndex)
.LineStyle = xlContinuous
.Weight = xlThin
.Color = vbBlack
End With
Next
End With
End Sub
Ich dachte, die 5 steht für die Anzahl Spalten...
Das funktioniert aber nicht.
Was muss denn geändert werden, wenbn ich bis einschließlich Spalte I einrahmen will?
Danke
Axel
Anzeige
AW: VBA: befüllten Bereich einrahmen
26.02.2020 10:25:00
Nepumuk
Hallo Axel
in Spalte 5 wird die letzte benutze Zeile gesucht. Da in Spalte I nichts steht schlägt das natürlich fehl. Da geht dann so:
With Range(Cells(12, 1), Cells(Cells(Rows.Count, 5).End(xlUp).Row, 9))

Gruß
Nepumuk
gelöst
26.02.2020 11:05:38
Axel
Hallo Nepumuk,
ja perfekt.
Hier noch mal der ganze Code:
Option Explicit
Public Sub Rahmen_setzen()
Dim enmBordersIndex As XlBordersIndex
With Range(Cells(12, 1), Cells(Cells(Rows.Count, 5).End(xlUp).Row, 9))
Call .BorderAround(LineStyle:=xlContinuous, Weight:=xlThin, Color:=vbBlack)
For enmBordersIndex = xlInsideVertical To xlInsideHorizontal
With .Borders(enmBordersIndex)
.LineStyle = xlContinuous
.Weight = xlThin
.Color = vbBlack
End With
Next
End With
End Sub
Danke für alles!!!
Beste Grüße
Axel
Gruß
Axel
Anzeige
;

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

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