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"