Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
620to624
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme mit Ranges per VBA

Probleme mit Ranges per VBA
06.06.2005 15:58:39
Stephan
Diese Mail schließt an den Thread : Range per VBA aktivieren von heute an (06.06.05 - 11:21)
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

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

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Ranges per VBA
06.06.2005 22:22:16
Ramses
Hallo
der Verweis auf das entsprechende Blatt fehlt
For Each blatt In ActiveWorkbook.Sheets
For i = blatt.UsedRange.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(blatt.Rows(i & ":" & i)) 0 Then
lastR = i
Exit For
End If
Next i
Gruss Rainer
Probleme mit Ranges per VBA
07.06.2005 10:41:15
Stephan
Wunderbar, Danke Dir Ramses.
Mein (hoffentlich) letztes Problem ist nun die "letzte Zelle". Zumindest heisst sie im Excel-Jargon so. Das Problem auf allen Blättern sucht er mir den Range passend raus. Nur im letzten Blatt setzt er den Range nicht bis zum Ende des "beschriebenen Inhalts" sondern bis zu eben dieser letzten Zelle, die sich ca. 40 Zeilen darunter befindet. (Letzte Zelle anzeigen kann man über \Bearbeiten\GeheZu\Inhalte\Letzte Zelle). Mein Problem ist nun, wie kann ich diese letzte Zelle "vernichten" oder so verändern, dass sie in der Tat meine letzte "beschriebene" Zelle ist.
Erweiterungsfrage: Kann man den Ranges auch wieder automatisiert löschen ? Vielleicht mit Delete.Range("name") ?
Anzeige
AW: Probleme mit Ranges per VBA
07.06.2005 14:36:09
Galenzo
Beispiel, um ALLE Namen zu löschen:
On Error Resume Next
For Each Name In ActiveWorkbook.Names
Name.Delete
Next
Viel Erfolg!

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige