Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

beschriebenen Bereich markieren

beschriebenen Bereich markieren
29.01.2008 12:09:54
mtremer
Hallo Excel-Freunde,
wie kann ich nur den Bereich markieren, dessen Zellen auch ausgefüllt sind?
mit
Range("A16:I50").Select
wähle ich den gesamten Bereich aus.
mit
Range("A65536").End(xlUp).Offset(1, 0).Select
gehe ich zur ersten freien Zelle.
Wie kann ich das kombinieren?
Danke.
Viele Grüße
MArco

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: beschriebenen Bereich markieren
29.01.2008 12:12:57
Daniel
Hi.
z.B. so:
Range("A16:I" & Range("A65536").End(xlUp).Offset(1, 0).Row).select
Gruß, Daniel

genau so!
29.01.2008 12:17:53
mtremer
Hallo Daniel,
das habe ich gesucht.
Ich danke Dir.
Viele Grüße
Marco

Frage doch noch offen
29.01.2008 12:39:04
mtremer
Sorry, Daniel
es ist doch noch nicht ganz geklärt.
Für diesen Code ist die letzte Zeile die zuletzt gefüllte Zelle in der Spalte "A". Wenn aber noch etwas in der Spalte "I" steht, markiert er es nicht.
Wie kann ich die Abrage der letzten Zeile erweitern?
Danke.
Viele Grüße
Marco

AW: Frage doch noch offen
29.01.2008 12:50:30
Rudi
Hallo,

Sub tt()
Range(Cells(16, 1), Cells(LastRow(ActiveSheet), 9)).Select
End Sub
Function LastRow(wks As Worksheet, Optional lngFirstRow&, Optional lngLastRow&) As Long
Dim lngTmp&, blnFound As Boolean
With Application
If .CountA(wks.Rows(wks.Rows.Count)) Then
LastRow = wks.Rows.Count: Exit Function
End If
If .CountA(wks.Cells) = 0 Then
LastRow = 0: Exit Function
End If
If lngFirstRow = 0 Then lngFirstRow = 1
If lngLastRow = 0 Then lngLastRow = wks.Rows.Count
lngTmp = ((lngFirstRow + lngLastRow) / 2) \ 1
If lngLastRow > lngFirstRow + 1 Then
If .CountA(wks.Rows(lngTmp & ":" & lngLastRow)) Then lngFirstRow = lngTmp: blnFound =  _
True
If Not blnFound And .CountA(wks.Rows(lngFirstRow & ":" & lngTmp)) Then lngLastRow =  _
lngTmp
LastRow wks, lngFirstRow, lngLastRow
End If
End With
LastRow = lngFirstRow
End Function


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
jetzt aber
29.01.2008 13:00:04
mtremer
Hallo Rudi,
hier wird ja mit Kanonen auf Spatzen geschossen: riesen Code für ein winziges Problem...
;-)
Aber: es hat einwandfrei funktioniert.
Danke.
Viele Grüße
Marco

AW: jetzt aber
29.01.2008 13:06:00
Rudi
Hallo,

hier wird ja mit Kanonen auf Spatzen geschossen


Hauptsache tot.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Frage doch noch offen
29.01.2008 13:03:00
Daniel
Hi
wenn nur die erste und die letzte Zeile geprüft werden sollen, viellicht so:
Range("A16:I" & Worksheetfunction.Max(Range("A65536").End(xlUp).Offset(1, 0).Row, Range("I65536").End(xlUp).Offset(1, 0).Row)).select
bei vielen Zellen gibts dann halt etwas aufwendigen Code.
Aber problier auch mal
Range("A16").currentregion.select
vielleicht reicht ja auch das, wenn deine Tabelle entsprechend aufgebaut ist.
Gruß, Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige