Hallo,
ws.UsedRange.Rows.Count
das muss aber auch nicht immer richtig sein. Sollte die erste Zeile komplett leer sein, wird dies zu einem falschen Ergebnis führen, weil die letzte Zeile nicht mehr ausgelesen wird.
ws.UsedRange.Columns.Count
Das gleiche Problem ist, wenn die erste Spalte komplett leer ist, führt dies auch zu einem falschen Ergebnis.
Bis bald Chemiker
Das kannte ich noch nicht und wollte ich gar nicht glauben, aber ein schneller Test mit Execl bestätigt das. Tatsächlich werden scheinbar nur die Zeilen gezählt von der ersten in der was drin steht bis zur letzten in der was drin steht. Sind also die ersten drei zeilen leer und nur in Zeile 4 steht was drin ist Used.Range.Rows.Count trotzdem nur 1.
Bei uns war das bisher keinem aufgefallen, weil in Zeile 1 immer was steht.
Aber wenn man genauer drüber nachdenkt ist das eine genaue Interprätation des Begriffs "UsedRange".
Womit die Ermittlung der letzten Zeile/Spalte dann funtioniert, wäre z.B.:
ws.UsedRange.SpecialCells(xlCellTypeLastCell).Row
, wobei xlCellTypeLastCell den Wert 11 hat.