Probleme mit Ranges per VBA
06.06.2005 15:58:39
Stephan
Achja, Mensch das mit dem Durchzählen hätte ich mir echt sparen koennen. Aber jetzt klappt schon mal das. Die einzige Hürde ist nun, dass
sich das Programm anscheinend den UsedRange aus dem ersten Sheet merkt und dann alle andere Range auch mit der Größe aus dem erste Sheets bildet.
Bsp : Sheet 1 : 28-43.Zeile werden "benutzt" -> UsedRange bis 43
Sheet 2 : 28-65.Zeile werden "benutzt" -> UsedRange bis 43 !!(sollte aber bis 65!)
Dieses Problem setzt sich auf allen Sheets fort. Wie könnte ich jetzt nun denn die Variable die durchzählt so löschen, dass mir bei jedem sheet auch der richtige Wert zurückgegen wird ?
Sub DatenRangesBilden()
Dim i As Long, lastR As Long
Dim blatt As Worksheet
' Range für sheet1, sheet2 und sheet3 bilden
For Each blatt In ActiveWorkbook.Sheets
For i = blatt.UsedRange.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(Rows(i & ":" & i)) <> 0 Then
lastR = i
Exit For
End If
Next i
ActiveWorkbook.Names.Add Name:=blatt.Name, RefersTo:= _
"=" & blatt.Name & "!" & _
"$28:$" & lastR + blatt.UsedRange.Row - 1
Next
End Sub
Anzeige