Supportnet / Forum / Tabellenkalkulation
Probleme mit UsedRows.Count
Frage
Hallo,
ich habe ein eigenartiges Problem, wo ich alleine nicht mehr weiterkomme. Ich mache in meinem XLS Prüfungen und die Ergebnisse schreibe ich in ein Tabellenblatt namens LOG.
Jede neue "LogInfirmation" soll ganz einfach in eine neue Zeile geschrieben werden, die letze benutze Zeile des Sheets soll ja eigentlich über UsedRows.Count verfügbar sein. Dazu habe ich folgendes Sub:
Private Sub LogInfo(wsLog As Worksheet, _
ByVal strComment As String, _
Optional ByVal strC1 As String = "", _
Optional ByVal strC2 As String = "", _
Optional ByVal strC3 As String = "")
Dim i As Long
i = wsLog.UsedRange.Rows.Count + 1
wsLog.Cells(i, 1).Value = strComment
wsLog.Cells(i, 2).Value = "'" + strC1
wsLog.Cells(i, 3).Value = "'" + strC2
wsLog.Cells(i, 4).Value = "'" + strC3
end sub
Nur verändert Excel nicht den wsLog.UsedRange.Count und daher übershreibe ich mir immer meine Daten.
Wer kann mir helfen? Habe ich ein Verständnisproblem?
Bin um jede Info froh!
Danke, user3
Antwort 1 von coros
Hallo User3,
die Eigenschaft, die Du da benutzt, also UsedRange, ist für Dein Vorhaben wohl eher ungeeignet. Diese Eigenschaft gibt zurück, wieviele Zeilen/ Zellen verwendet werden. Wenn in Deinem Bereich nur eine Zelle/ Zeile leer ist, wird die Zahl sich um die Zahl 1 verringern. Nim lieber den Befehl
Der ermittelt Dir die erste freie Zeile in Spalte A. Du musst eventuell eine andere Spalte benutzen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
die Eigenschaft, die Du da benutzt, also UsedRange, ist für Dein Vorhaben wohl eher ungeeignet. Diese Eigenschaft gibt zurück, wieviele Zeilen/ Zellen verwendet werden. Wenn in Deinem Bereich nur eine Zelle/ Zeile leer ist, wird die Zahl sich um die Zahl 1 verringern. Nim lieber den Befehl
Range("A65536").End(xlUp).Offset(1, 0).RowDer ermittelt Dir die erste freie Zeile in Spalte A. Du musst eventuell eine andere Spalte benutzen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von user3
Hallo Oliver,
danke für die schnelle Antwort. Funktioniert toll!
Das von mir verwendete SUB habe ich auch so ähnlich in einem anderen XLS im Einsatz, wo von EXCEL der UsedRows.Count hochgezäht wird, sobald was in die Ziele reingeschrieben wird (sehe ich im Debugger).
Wie erklärt sich das, daß es dort funktioniert?
danke für die schnelle Antwort. Funktioniert toll!
Das von mir verwendete SUB habe ich auch so ähnlich in einem anderen XLS im Einsatz, wo von EXCEL der UsedRows.Count hochgezäht wird, sobald was in die Ziele reingeschrieben wird (sehe ich im Debugger).
Wie erklärt sich das, daß es dort funktioniert?
Antwort 3 von coros
Hallo User3,
es befinden sich keine freien Zellen/ Zeilen in Deiner Aufzählung in der von Dir beschriebenen Datei, bzw. in Zeile 1 steht etwas und in der anderen nicht.
Trage einfach mal in Zelle A3, A4 und A5 etwas ein. Führe dann mal nachfolgendes Makro aus.
Du erhälst den Wert 3. Trägst Du nun in Zelle A1 etwas ein, wird Dir die letzte Zeile, also in diesem Beispiel der Wert 4 zurückgegeben. Ich hoffe, Du verstehst, was ich damit meine.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
es befinden sich keine freien Zellen/ Zeilen in Deiner Aufzählung in der von Dir beschriebenen Datei, bzw. in Zeile 1 steht etwas und in der anderen nicht.
Trage einfach mal in Zelle A3, A4 und A5 etwas ein. Führe dann mal nachfolgendes Makro aus.
Option Explicit
Sub Test()
MsgBox ActiveSheet.UsedRange.Rows.Count
End SubDu erhälst den Wert 3. Trägst Du nun in Zelle A1 etwas ein, wird Dir die letzte Zeile, also in diesem Beispiel der Wert 4 zurückgegeben. Ich hoffe, Du verstehst, was ich damit meine.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von user3
Hallo Oliver,
vielen Dank für die Antwort, jetzt ist es klarer.
Sorry, dass die Antwort verspätet kommt.
Danke, Angelika
vielen Dank für die Antwort, jetzt ist es klarer.
Sorry, dass die Antwort verspätet kommt.
Danke, Angelika

