Microsoft Excel

Herbers Excel/VBA-Archiv

Wert von aktiver Zeile in neue Tabelle kopieren

Betrifft: Wert von aktiver Zeile in neue Tabelle kopieren von: Peter
Geschrieben am: 10.10.2007 16:17:39

Ich habe den halben Tag damit verbracht, das Forum zu durchforsten und habe keine passende Lösung gefunden.

Ich trage einen Wert in Tabelle1 ein und möchte, das bei Verlassen der Zelle dieser Wert in die Zelle A1 der Tabelle2 kopiert wird. Ich weiß, das ist super simpel aber ich verzweifele langsam. Das habe ich versucht:


Private Sub Worksheet_Activate()
   Worksheets("tabelle2").Cells(1, 1) = Worksheets("tabelle1").Cells(ActiveCell.Row, 1).Value
End Sub



bzw.


Private Sub Worksheet_Activate()
   Worksheets("tabelle1").Cells(ActiveCell.Row, 1).Copy Worksheets("tabelle2").Cells(1, 1)
End Sub



Wichtig ist dabei, dass der Wert der Zelle der ersten Spalte der ausgewählten Zeile übertragen wird.

1000 Dank schonmal, Peter

  

Betrifft: Du musst Dir zunächst die "alte Zelle" merken von: NoNet
Geschrieben am: 10.10.2007 16:41:39

Hallo Peter,

beim Verlassen einer Zelle bekommt nur die neue Zelle eine Objekt-Referenz, die "alte Zelle" wird vergessen (ausser beim ÄNDERN einer Zelle !)

Da Du geschrieben hast "beim Verlassen", vemute ich mal, dass Du das auch meinst - unabhängig davon, ob in die Zelle etwas eingegeben wurde oder nicht !

Gib zunächst in einem allgemeinen Modul ausserhalb der SUBS (ganz am Anfang des Moduls) folgende Codezeile ein :

Public AlteZelle as Range

Diese Variable dient nun dazu, sich die "alte Zelle" (die man gerade verlassen hat) zu merken.

Kopiere dann in das Codemodul von "Tabelle1" folgenden Code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not alteZelle Is Nothing Then
        Sheets("Tabelle2").Cells(alteZelle.Row, 1) = alteZelle.Value
    End If
    Set alteZelle = Target(1, 1)
End Sub
Code eingefügt mit Syntaxhighlighter 4.12

Immer dann, wenn Du nun in Tabelle1 eine Zelle "verlässt", wird deren Wert in die gleiche Zeile, Spalte "A" der Tabelle2 übertragen.

So, ich hoffe nun, das war das, was Du wolltest !?!?!?

Gruß, NoNet


  

Betrifft: Danke, so was hab' ich auch gesucht! :-) von: Oliver
Geschrieben am: 11.10.2007 06:05:13

Guten Morgen NoNet und Peter,

jetzt habe ich endlich eine Lösung für mein kürzlich eingestelltes Problem gefunden.

Vielen Dank und eine schöne Rest-Woche.


Gruß,

Oliver.


  

Betrifft: AW: Du musst Dir zunächst die "alte Zelle" merken von: Peter
Geschrieben am: 11.10.2007 08:19:27

Hallo NoNet,

Danke für deine Hilfe, das hat leider nicht funktioniert. Mit "Verlassen" meine ich, dass ich einfach per Enter eine Zeile weiter nach rechts springe. Mit deinem Makro wird leider kein Wert in Tabelle2 eingetragen (genauso wie bei meinen Versuchen).

Hast du noch eine Idee?

Danke, Peter


  

Betrifft: bei mir geht's ... von: Matthias L
Geschrieben am: 11.10.2007 10:38:33

Hallo
Hast Du auch die Variable deklariert in einem Modul als Public?



https://www.herber.de/bbs/user/46678.xls





  

Betrifft: AW: bei mir geht's ... von: Peter
Geschrieben am: 11.10.2007 11:47:13

Ja, habe ich gemacht. Habe das Problem jetzt anders gelöst, s. mein Post hier.


  

Betrifft: AW: Du musst Dir zunächst die "alte Zelle" merken von: Peter
Geschrieben am: 11.10.2007 11:46:08

Ich habe das Problem über ein Makro gelöst. Jetzt werden die Werte nicht sofort nach Eingabe in Tabelle1 kopiert sondern erst bei Makrostart. Damit kann ich leben.

Danke für die schnelle Hilfe, Peter


 

Beiträge aus den Excel-Beispielen zum Thema "Wert von aktiver Zeile in neue Tabelle kopieren"