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

Forumthread: Mit Schleife Formatieren

Mit Schleife Formatieren
Kai
Hi,
ich möchte irgend wie per Schleife die Spalte A durchlaufen und überall, wo A NICHT leer ist, sollen in der gleichen Zeile im Range D bis H ein dünner Rahmen gezogen werden und das Muster auf UNI gestellt werden.
Dim i As Integer
For i = 5 To 20
If Cells(i, 1) "" Then FORMAT XXX
Next i
wie mach ich denn das ?
Danke Kai
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Mit Schleife Formatieren
16.11.2009 12:49:01
Klaus
Hallo Kai,
teste mal den Code:
Sub FormatierenPerSchleife()
Dim lRowSta As Long    'erste Zeile
Dim lRowEnd As Long    'letzte Zeile
Dim iColAct As Integer 'Spalte
Dim rMyRang As Range
Dim iColOfS As Integer 'Offset für Rahmen - Anfang
Dim iColOfE As Integer 'Offset für Rahmen - Ende
lRowSta = 5             'von Zeile 5
lRowEnd = 20            'bis Zeile 20
iColAct = 1             'in Spalte A
iColOfS = 3             'Spalte A plus 3 gleich Spalte D
iColOfE = 5             'Spalte D plus 5 gleich Spalte H
With ActiveSheet
For Each rMyRang In .Range(Cells(lRowSta, iColAct), Cells(lRowEnd, iColAct))    'Zu ä _
ndernder Bereich
If Not rMyRang.Value = "" Then                      'wenn die Zelle leer ist
With rMyRang
With .Offset(0, iColOfS).Resize(1, iColOfE).Borders(xlEdgeBottom)   'Rahmen  _
definieren
.LineStyle = xlContinuous           'durchgehender Rahmen
.Weight = xlThin                    'mit einer dünnen Linie
.ColorIndex = xlAutomatic           'der dünne Unterstrich wird  _
schwarz?
End With
With .Offset(0, iColOfS).Resize(1, iColOfE).Interior                         _
'Muster definieren
.ColorIndex = 0                     'Hier bei Bedarf Farbe angeben  _
oder Zeile löschen
.Pattern = xlSolid                  'Muster = Uni
.PatternColorIndex = xlAutomatic    'Hier bei Bedarf Farbe angeben  _
oder Zeile löschen
End With
End With
End If
Next 'rMyRang
End With
End Sub
Passt?
Grüße,
Klaus M.vdT.
Anzeige
AW: Mit Schleife Formatieren
16.11.2009 13:02:40
Kai
Hallo Klaus,
ja Danke, funktioniert im Prinzip.
Kann es sein, das statt einer kompletten Rahmens nur die untere Linie gezogen wird ?
Gruss
Kai
AW: Mit Schleife Formatieren
17.11.2009 16:21:22
Klaus
Hallo Kai,
ja mit Rahmen hab ichs nicht so :-) Ist aber schnell korrigiert:
Statt diesem Codeteil
                   With .Offset(0, iColOfS).Resize(1, iColOfE).Borders(xlEdgeBottom)   'Rahmen   _
_
definieren
.LineStyle = xlContinuous           'durchgehender Rahmen
.Weight = xlThin                    'mit einer dünnen Linie
.ColorIndex = xlAutomatic           'der dünne Unterstrich wird  _
schwarz?
End With
Nimmst du diesen
With .Offset(0, iColOfS).Resize(1, iColOfE)
.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
End With
und dann sollte das gehen. Elegant gelöst ist das sicher nicht, aber funktionieren wirds.
Grüße,
Klaus M.vdT.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige