Zellen oberhalb einer bestimmten Zeile formatieren
23.04.2004 12:22:31
Torsten K.
mit dem nachfolgenden Code kann ich aus einem WS("ENTER") Daten in ein anderes WS("SEARCH") übertragen, wenn ein bestimmtes Suchkriterium erfüllt ist. Funktioniert auch tadellos. Jetzt möchte ich das ganze aber noch abrunden, indem der Range, in den die Daten kopiert werden, durch Rahmen hervorgehoben wird. Das ist nicht ganz einfach, weil der Range nicht immer dieselbe Größe hat (z.B. mal B4:G14; dann B4:G20 usw.). Ich habe ein bißchen herumprobiert und bin mit dem Ergebnis eigentlich ganz zufrieden, bis auf einen Punkt, den ich alleine nicht mehr hinbekomme:
Private Sub cmb_START_Click()
Dim i As Integer
Dim J As Integer
J = 4
With Sheets("SEARCH").Range("B4:G70")
.ClearContents
.Font.ColorIndex = 0
End With
With Sheets("SEARCH").Range("A4:G70")
.Interior.ColorIndex = 2
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
For i = 2 To Sheets("Enter").[B2000].End(xlUp).Row
If UCase(Sheets("ENTER").Range("B" & i)) Like UCase([B1]) & "*" Then
Sheets("ENTER").Range("B" & i & ":G" & i).Copy _
Destination:=Sheets("SEARCH").Range("B" & J)
J = J + 1
End If
Next
Sheets("SEARCH").Range("B" & J) = "End Of File"
'unterhalb des letzten ausgegebenen Datensatzes wird ein "EOF" hinzugefügt
With Sheets("SEARCH").Range("B" & J).Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Sheets("SEARCH").Range("B" & J).Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Sheets("SEARCH").Range("B" & J).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
Sheets("SEARCH").Range("B" & J).Interior.ColorIndex = 36
(...)
End Sub
Ich möchte oberhalb der Zeile, in die das "End of File" eingetragen wird, folgende Formatierung einfügen:
With Range ("A ").Borders(xlEdgeBottom)
.LineStyle=xlContinuous
.Weight = xlMedium
End With
With Range("C :G ").Borders(xlEdgeBottom)
.LineStyle=xlContinuous
.Weight = xlMedium
End With
Das Problem für mich ist, daß erst die Zeile bestimmt werden muß, in welcher das "End of File" eingetragen ist. Könnt Ihr mir helfen?
Vielen Dank im voraus.
Gruß
Torsten