Clever-Excel-Forum

Normale Version: Wert von Tabellenblatt kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich möchte beim Betätigen einer Schaltfläche in dem Tabellenblatt "E get" den letzten Wert von Tabellenblatt "Werte" Spalte3, in das Tabellenblatt "E get" Spalte 57, 2 Zeilen unter dem letzten Eintrag kopieren. Erste Zeile ist "Zeile 5". 
Ich habe bei meiner ersten Beitrag falsch formuliert.  So ist es nun richtig.Wer kann mir helfen?


Vielen Dank  und Grüße Empo

Ich habe von Crazy Tom folgenden Code erhalten.
.
Sub test()
   Dim lngLetzteQuelle As Long
   Dim lngZiel As Long
   lngLetzteQuelle = Cells(Rows.Count, 1).End(xlUp).Row
   With Sheets("E get")
       lngZiel = .Cells(.Rows.Count, 57).End(xlUp).Row + 2
       .Cells(lngZiel, 57).Value = Cells(lngLetzteQuelle, 1).Value
   End With
End Sub
 
So wie ich es formuliert habe war es richtig. Der Fehler liegt bei mir (ich möchte beim Betätigen einer Schaltfläche den letzten Wert von Tabellenblatt "Werte" Spalte1, in das Tabellenblatt "E get" Spalte 57 2 Zeilen unter denm letzten Eintrag kopieren. )
Hallo

na denn ebenst soherum Wink
diesmal zu starten aus Tabellenblatt "E get"


Code:
Sub test()
   Dim lngLetzteQuelle As Long
   Dim lngZiel As Long
   lngZiel = Cells(Rows.Count, 57).End(xlUp).Row + 2
   If lngZiel < 5 Then lngZiel = 5
   With Sheets("Werte")
       lngLetzteQuelle = .Cells(.Rows.Count, 3).End(xlUp).Row
       Cells(lngZiel, 57).Value = .Cells(lngLetzteQuelle, 3).Value
   End With
End Sub


MfG Tom
Hallo Crazy Tom,
 
vielen Dank für deinenCode. Er funktioniert prima, nur ist die "Spalte 3" in Tabellenblatt "Werte" nicht leer sondern mit folgender Formel belegt: =WENN(A9="";"";WENN(A9<>"";A9)). Damit verteile ich Werte von "Spalte 1" auf "Spalte 2"
und "Spalte 3". Wenn "Spalte 3" die Formel enthält funtioniet das Makro nicht, wenn ich alle Formeln in Spalte "3" lösche funktiniert das Makro. Das heist für mich, daß vor dem Ausführen von Makto "Test()" noch ein Kopieren von dem letzten Wert "Spalte 1" in die gleiche Zeile "Spalte 3" stattfinden müßte und in Spalte "3" alle Formeln gelöscht werden. Ist dies im gleichen Makro möglich?


Viele Grüße Empo
Hallo

dann probiere es mal so

Code:
Sub test()
   Dim c As Range
   Dim lngZiel As Long
   lngZiel = Cells(Rows.Count, 57).End(xlUp).Row + 2
   With Sheets("Werte")
       Set c = .Columns(3).Find("*", searchdirection:=xlPrevious, LookIn:=xlValues)
       If Not c Is Nothing Then
           If lngZiel < 5 Then lngZiel = 5
           Cells(lngZiel, 57).Value = c.Value
       End If
   End With
End Sub
MfG Tom
Hallo Crazy Tom,

vielen Dank. Das Makro funktioniert prima. Letzte Bitte köntest Du mir eine Erklärung unter den Code schreiben was der Code macht. Nochmals vielen Dank.

Viele Grüße Empo
Hallo


Code:
Sub test()
   Dim c As Range
   Dim lngZiel As Long
   'Zielzelle in Spalte 57 ermitteln
   lngZiel = Cells(Rows.Count, 57).End(xlUp).Row + 2
   With Sheets("Werte")
       'in Werte mit .Find von unten die erste nicht leere Zelle suchen
       Set c = .Columns(3).Find("*", searchdirection:=xlPrevious, LookIn:=xlValues)
       'wenn gefunden
       If Not c Is Nothing Then
           'wenn die Zielzelle kleiner 5 dann Zielzelle 5
           If lngZiel < 5 Then lngZiel = 5
           'in die Zielzelle wird der gefundene Wert(Value) eingetragen
           Cells(lngZiel, 57).Value = c.Value
       End If
   End With
End Sub


MfG Tom