Daten in erste freie Zeile (anderes Blatt) schreib

Bild

Betrifft: Daten in erste freie Zeile (anderes Blatt) schreib
von: Werner
Geschrieben am: 24.03.2005 15:55:53
Hallo,
Ich möchte Daten, die in einer bestimmten Zelle von Blatt A eingegeben werden automatisch in die jeweils erste freie Zelle von Spalte A in Blatt B übernehmen. Wenn "999" eingegeben wird, soll allerdings die letzte gefüllte Zelle in Spalte A Blatt B wieder geleert werden.
Geht sowas?
Danke im Voraus!
Gruß
Werner

Bild

Betrifft: AW: Daten in erste freie Zeile (anderes Blatt) schreib
von: Beni
Geschrieben am: 24.03.2005 22:38:34
Hallo Werner,
kopiere diesen Code in das Modul der Tabelle der Du "Blatt A" nennst, mit recht Maustaste auf Blattregister/Code anzeigen, im Code heist "Blatt B" "Tabelle2", ensprechend anpassen.
Alles was Du Zelle "A1" schreibst wird übertragen und mit 999 wieder gelöscht.
Gruss Beni


Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets("Tabelle2")
r = .Cells(65536, 1).End(xlUp).Row
If Target.Address = "$A$1" Then .Cells(r, 1) = Cells(1, 1)
If Cells(1, 1) = 999 Then .Cells(r, 1) = ""
End With
End Sub

Bild

Betrifft: AW: Daten in erste freie Zeile (anderes Blatt) schreib
von: Herbert H.
Geschrieben am: 24.03.2005 22:42:03
Hallo Werner,
das müßte so funktionieren:


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sh As Worksheet, shZ As Worksheet
Dim lz%
    Set sh = Sheets("Tabelle1")
    Set shZ = Sheets("Tabelle2")
lz = shZ.Cells(Rows.Count, 1).End(xlUp).Row
On Error GoTo ende
If Selection.Value = 999 Then
   shZ.Cells(lz, 1) = ""
Else
shZ.Cells(lz + 1, 1).Value = Selection.Value
End If
ende:
Set sh = Nothing
Set shZ = Nothing
End Sub

     gruß Herbert
Bild

Betrifft: AW: Daten in erste freie Zeile (anderes Blatt) schreib
von: Herbert H.
Geschrieben am: 24.03.2005 22:59:30
ich habe übersehen,daß du in eine bestimmten Zelle eingeben willst:


Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Address <> "$A$1" Then Exit Sub
Dim shZ As Worksheet, lz%
Set shZ = Sheets("Tabelle2")
lz = shZ.Cells(Rows.Count, 1).End(xlUp).Row
If Target = 999 Then
  shZ.Cells(lz, 1) = ""
Else
shZ.Cells(lz + 1, 1).Value = Target.Value
End If
Set shZ = Nothing
End Sub


     
das erste Beispiel würde für jede Zelle funktionieren...
Gruß Herbert
Bild

Betrifft: AW: Daten in erste freie Zeile (anderes Blatt) schreib
von: Herbert H.
Geschrieben am: 24.03.2005 22:59:36
ich habe übersehen,daß du in eine bestimmten Zelle eingeben willst:


Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Address <> "$A$1" Then Exit Sub
Dim shZ As Worksheet, lz%
Set shZ = Sheets("Tabelle2")
lz = shZ.Cells(Rows.Count, 1).End(xlUp).Row
If Target = 999 Then
  shZ.Cells(lz, 1) = ""
Else
shZ.Cells(lz + 1, 1).Value = Target.Value
End If
Set shZ = Nothing
End Sub


     
das erste Beispiel würde für jede Zelle funktionieren...
Gruß Herbert
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Daten in erste freie Zeile (anderes Blatt) schreib"