Nächste leere Zelle finden

13/01/2010 - 21:16 von Daniel Frei | Report spam
Hallo Profis (MS OF 07, OS Win 7)

Irgend jemand steht mir auf dem Schlauch :-)
Habe folgendes Problem:
Ich möchte die Zelle A2 in C schreiben. Da sich A2 immer wieder àndert, muss
jeweils die nàchste leere Zelle in C gefunden werden. So was àhnliches hatte
ich schon mal gemacht doch ich weiss den Code nicht mehr genau.
Folgenden Code benutze ich, doch er schreibt mir nicht in die leere Zelle,
sondern direkt in C1. Was ist an diesem Code falsch?

Dim ErsteZeile As Variant
Dim LetesTraining As String
Dim Datum As Date
Dim KundenNummer As String

'*********************
' Zelle A2 Aktiviren
'*********************

Sub ZelleActiviren()
Sheets("Erfassen").Select
Cells(2, 1).Select

'****************************************
' Zelle A2 in Spalte C Fortlaufen schreiben
'****************************************
Sheets("Erfassen").Activate
Range("C1048576").Activate
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Activate
ErsteZeile = ActiveCell.Row

KundenNummer = Cells(2, 1).Value
Sheets("Erfassen").Cells(ErsteZeile).Value = KundenNummer

End Sub

Danke schon mal für eure Hilfe

Grüsse aus der Schweiz

Daniel Frei
*********************************
Nur wer fragt kommt im Leben weiter.
Ein kluger Mann macht nicht alle Fehler selbst. Er gibt auch anderen eine
Chance. --
"Winston Churchill"
 

Lesen sie die antworten

#1 Claus Busch
14/01/2010 - 06:48 | Warnen spam
Hallo Daniel,

Am Wed, 13 Jan 2010 21:16:08 +0100 schrieb Daniel Frei:

Ich möchte die Zelle A2 in C schreiben. Da sich A2 immer wieder àndert, muss
jeweils die nàchste leere Zelle in C gefunden werden. So was àhnliches hatte
ich schon mal gemacht doch ich weiss den Code nicht mehr genau.
Folgenden Code benutze ich, doch er schreibt mir nicht in die leere Zelle,
sondern direkt in C1. Was ist an diesem Code falsch?



Select und Activate sind fast immer überflüssig und bringen dir nur
Bildschirmflackern. Referenziere exakt und du kommst ohne aus.
Probiers mal so:

Sub ErsteFreieZelle()
Dim FERow As Long

With Sheets("Erfassen")
FERow = .Cells(Rows.Count, "C").End(xlUp).Row + 1
.Range("C" & FERow) = .Range("A2")
End With

End Sub


Mit freundlichen Grüssen
Claus Busch
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

Ähnliche fragen