PDA

Vollständige Version anzeigen : problem mit xlCellTypeLastCell


Tubetraxxx-rOOm4-
18.08.2004, 10:23
Hallo Leute!
Hab wieder mal ein VB.net/Excel problem!

möchte aus meinem excel-sheet die letzte BEFÜLLTE zelle ermitteln, habe es bisher mittels
xlBlatt.Cells.SpecialCells(Excel.xlCellType.xlCellTypeLastCell).Adress
gemacht!
jedoch liefert er mir da die wirklich letzte zelle des blattes dass irgendwann mal befüllt war jedoch mittlerweile keinen wert aufweist.

jetzt meine frage, wie kann ich die letzte befüllte zelle herausfinden???

lg,
patrick

jinx
18.08.2004, 18:25
<font size="2" face="Century Gothic">Moin, patrick,

klingt jetzt bestimmt komisch - aber entweder die Mappe einmal speichern (dann stimmen die Angaben wieder) oder aber ein Vorgehen wie in fogenden Code adaptieren (aus Reinke et. al., Excel2000 programmieren):

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Option</span> <span class="TOKEN">Explicit</span>
&nbsp;
<span class="TOKEN">Sub</span> letzte_ausw&auml;hlen()
<span class="TOKEN">Dim</span> r <span class="TOKEN">As</span> Range
<span class="TOKEN">Dim</span> ber1 <span class="TOKEN">As</span> Range
<span class="TOKEN">Dim</span> ber2 <span class="TOKEN">As</span> Range
<span class="TOKEN">Dim</span> b <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
b = Application.Calculation
Application.Calculation = xlManual
Sheets.Add
<span class="TOKEN">Set</span> ber1 = ActiveSheet.Range(&quot;A1:E10&quot;)
ber1.Formula = 2000
<span class="TOKEN">Set</span> r = ActiveSheet.UsedRange
MsgBox &quot;Anzahl benutzter Zellen &quot; &amp; r.Count
Range(&quot;A8:D10, E1:E10&quot;).Clear
r.SpecialCells(xlLastCell).Select
MsgBox &quot;Anzahl benutzter Zellen noch immer &quot; &amp; r.Count
<span class="REM">' Pr&uuml;fen ob Spalte und/oder Zeile leer</span>
<span class="TOKEN">Do</span>
<span class="TOKEN">If</span> Application.WorksheetFunction.CountA(ActiveCell.EntireRow) &lt; 1 <span class="TOKEN">Then</span>
<span class="REM"> ' In der Zeile kein Wert</span>
ActiveCell.Offset(-1, 0).Select
<span class="TOKEN">Else</span>
<span class="TOKEN">Exit Do</span>
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">Loop</span>
<span class="TOKEN">Do</span> <span class="TOKEN">While</span> Application.CountA(ActiveCell.EntireColumn) &lt; 1
<span class="REM"> ' In der Spalte kein Wert</span>
ActiveCell.Offset(0, -1).Select
<span class="TOKEN">Loop</span>
Application.Calculation = b
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span>
&nbsp;</pre></div></font>

Freezen
15.01.2007, 11:14
Sub LastCellMS()

MsgBox "Letzte Zeile: " & ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

End Sub