Microsoft Excel

Herbers Excel/VBA-Archiv

Mit Schleife Formatieren | Herbers Excel-Forum


Betrifft: Mit Schleife Formatieren von: Kai
Geschrieben am: 16.11.2009 12:23:34

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

  

Betrifft: AW: Mit Schleife Formatieren von: Klaus M.vdT.
Geschrieben am: 16.11.2009 12:49:01

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.


  

Betrifft: AW: Mit Schleife Formatieren von: Kai
Geschrieben am: 16.11.2009 13:02:40

Hallo Klaus,

ja Danke, funktioniert im Prinzip.
Kann es sein, das statt einer kompletten Rahmens nur die untere Linie gezogen wird ?

Gruss
Kai


  

Betrifft: AW: Mit Schleife Formatieren von: Klaus M.vdT.
Geschrieben am: 17.11.2009 16:21:22

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.


Beiträge aus den Excel-Beispielen zum Thema "Mit Schleife Formatieren"