Verständnis Problem mit .Range.Find
19.10.2016 09:18:26
Max2
vor einiger Zeit hat mir jemand aus dem Forum mit einem Makro geholfen,
Hier ein Teilstück des Makros:
'letzte Zeile mit Daten
lngZeile_2 = .Cells.Find(What:="*", After:=.Range("A1"), LookIn:=xlValues, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious).Row
'letzte Spalte mit Daten
lngAnzSpa = .Cells.Find(What:="*", After:=.Range("A1"), LookIn:=xlValues, _
lookat:=xlWhole, searchorder:=xlByColumns, searchdirection:=xlPrevious).Column
'Zeilen pro Block
lngZeilenBlock = 5
'Array für Ergebnisse
ReDim arrErgebnis(1 To CLng(lngZeile_2 / lngZeilenBlock) + 1, 1 To 6)
lngZeile_3 = 0
'Blöcke abarbeiten und Ergebnisse ins Array
For lngZeile = 1 To lngZeile_2 Step lngZeilenBlock
Set rngBlock = .Range(.Cells(lngZeile, 1), .Cells(lngZeile + lngZeilenBlock - 1, _
lngAnzSpa))
lngZeile_3 = lngZeile_3 + 1
With Application.WorksheetFunction
arrErgebnis(lngZeile_3, 1) = lngZeile_3
arrErgebnis(lngZeile_3, 2) = .Min(rngBlock)
arrErgebnis(lngZeile_3, 3) = .Average(rngBlock)
arrErgebnis(lngZeile_3, 4) = .StDev(rngBlock)
arrErgebnis(lngZeile_3, 5) = lngZeile
If lngZeile + lngZeilenBlock - 1 > lngZeile_2 Then
arrErgebnis(lngZeile_3, 6) = lngZeile_2
Else
arrErgebnis(lngZeile_3, 6) = lngZeile + lngZeilenBlock - 1
End If
End With
Next lngZeile
End With
Ich würde gerne After:=.Range("A1")ändern, da das Makro erst ab C6 arbeiten soll
Mir ist bewusst dass diese Zeile Code nur bewirkt dass er die letzte Zeile oder Spalte sucht und sich dann in Schritten vorarbeitet, aber er soll eben die ersten zwei Spalten und 5 Zeilen auslassen
lngZeile_2 = .Cells.Find(What:="*", After:=.Range("A1"), LookIn:=xlValues, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious).Row
Mit After:=.Range("C6"), Funktioniert es nicht, kann mir bitte jemand erklären warum ?
Ich sage mit After:= doch lediglich ab wenn er nach etwas suchen soll.
xlPrevious habe ich mal mit xlNext getauscht aber das hat auch nichts gebracht.
Stehe echt auf dem Schlauch