Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zelle in nächste freie Zeile einfügen
#1
Hey Leute, 

Ich möchte über eine Eingabemaske Informationen zu Darlehnsverträgen, mit Hilfe von einem Makro, in ein extra Blatt kopieren. 
Das funktioniert soweit auch, jedoch kopiere ich die Informationen immer wieder in die selbe Zeile. 
Bei einer neuen Eingaben sollen die Informationen nun in die nächste freie Zeile kopiert werden. 
Dass bekomme ich leider nicht hin. 
Hat jemand eine Idee wie ich das Umsetzten kann.  Huh


Sub WertAusVertragKopieren()

  Sheets(4).Range(IngLetzteZeile + 1, 10).Value() = Sheets(2).Range("I4").Value()
  Sheets(4).Range("C186").Value() = Sheets(2).Range("I5").Value()
  Sheets(4).Range("D186").Value() = Sheets(2).Range("F5").Value()
  Sheets(4).Range("E186").Value() = Sheets(2).Range("F11").Value()
  Sheets(4).Range("F186").Value() = Sheets(2).Range("F4").Value()
  Sheets(4).Range("G186").Value() = Sheets(2).Range("F6").Value()
  Sheets(4).Range("J186").Value() = Sheets(2).Range("F7").Value()
  Sheets(4).Range("K186").Value() = Sheets(1).Range("M26").Value()
  Sheets(4).Range("L186").Value() = Sheets(2).Range("F8").Value()
  Sheets(4).Range("M186").Value() = Sheets(1).Range("M27").Value()
  Sheets(4).Range("N186").Value() = Sheets(2).Range("F11").Value()
  Sheets(4).Range("O186").Value() = Sheets(1).Range("M28").Value()
 
  ActiveWorkbook.Save
 
End Sub
Antworten Top
#2
Hallo,


Zitat:Sheets(4).Range(IngLetzteZeile + 1, 10).Value() = Sheets(2).Range("I4").Value()


in der ersten Programmzeile hast du das doch schon selbst beantwortet. Das musst du nur in allen Zeilen so machen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hallo, 

erstmal danke für deine Antwort. 

Bei mir kommt dann folgende Fehlermeldung:
Laufzeitfehler '1004':
Anwendungs- oder objeltdefinierter Fehler
Antworten Top
#4
Hallo,

wenn deine Variable IngLetzteZeile tatsächlich die erste leere Zeile für alle Zellen ist, die du im Code ansprichst dann:
Code:
With Sheets(4)
    .Cells(IngLetzteZeile + 1, "J") = Sheets(2).Range("I4")
    .Cells(lngLetzteZeile + 1, "C") = Sheets(2).Range("I5")
    .Cells(IngLetzteZeile + 1, "D") = Sheets(2).Range("F5")
    .Cells(IngLetzteZeile + 1, "E") = Sheets(2).Range("F11")
    .Cells(IngLetzteZeile + 1, "F") = Sheets(2).Range("F4")
    .Cells(IngLetzteZeile + 1, "G") = Sheets(2).Range("F6")
    .Cells(IngLetzteZeile + 1, "J") = Sheets(2).Range("F7")
    .Cells(IngLetzteZeile + 1, "K") = Sheets(1).Range("M26")
    .Cells(IngLetzteZeile + 1, "L") = Sheets(2).Range("F8")
    .Cells(IngLetzteZeile + 1, "M") = Sheets(1).Range("M27")
    .Cells(IngLetzteZeile + 1, "N") = Sheets(2).Range("F11")
    .Cells(IngLetzteZeile + 1, "O") = Sheets(1).Range("M28")
End With

Sollten die einzelnen Spalten unterschiedlich weit befüllt sein, dann z.B. so:
Code:
With Sheets(4)
    .Range("J" & .Cells(.Rows.Count, "J").End(xlUp).Offset(1).Row) = Sheets(2).Range("I4")
    .Range("C" & .Cells(.Rows.Count, "C").End(xlUp).Offset(1).Row) = Sheets(2).Range("I5")
    .Range("D" & .Cells(.Rows.Count, "D").End(xlUp).Offset(1).Row) = Sheets(2).Range("F5")
    .Range("E" & .Cells(.Rows.Count, "E").End(xlUp).Offset(1).Row) = Sheets(2).Range("F11")
    .Range("F" & .Cells(.Rows.Count, "F").End(xlUp).Offset(1).Row) = Sheets(2).Range("F4")
    .Range("G" & .Cells(.Rows.Count, "G").End(xlUp).Offset(1).Row) = Sheets(2).Range("F6")
    .Range("J" & .Cells(.Rows.Count, "J").End(xlUp).Offset(1).Row) = Sheets(2).Range("F7")
    .Range("K" & .Cells(.Rows.Count, "K").End(xlUp).Offset(1).Row) = Sheets(1).Range("M26")
    .Range("L" & .Cells(.Rows.Count, "L").End(xlUp).Offset(1).Row) = Sheets(2).Range("F8")
    .Range("M" & .Cells(.Rows.Count, "M").End(xlUp).Offset(1).Row) = Sheets(1).Range("M27")
    .Range("N" & .Cells(.Rows.Count, "N").End(xlUp).Offset(1).Row) = Sheets(2).Range("F11")
    .Range("O" & .Cells(.Rows.Count, "O").End(xlUp).Offset(1).Row) = Sheets(1).Range("M28")
End With

Gruß Werner
Antworten Top
#5
Hallo Werner, 

Ich will mit meiner Variable die erste leere Zeile für alle Zellen ansprechen. 
Wenn ich dein ersten Code eingebe passiert bei mir gar nichts. 
Bei den zweiten packt er jede Info aus einer Spalte in eine neue Zeile. 

Gruß
Antworten Top
#6
Hallo,



Zitat:Bei den zweiten packt er jede Info aus einer Spalte in eine neue Zeile. 


... dann mußt Du ihm auf die Finger hauen.

Aber mal im ernst, was hältst Du davon, hier eine Datei zu zeigen?
Damit wäre der Kram hochwahrscheinlich in Nullzeit erledigt.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#7
Hallo Käptn, 

die Datei kann ich leider nicht Hochladen, das würde meine Arbeitgeber wohl nicht so toll finden wenn ich die Darlehnsliste offen lege ;D. 
Da muss ich wohl einfach weiter probieren.


Gruß
Antworten Top
#8
Hallo,

wie ermittelst du denn die Zeilennummer, sprich den Inhalt für die Variable IngLetzteZeile?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#9
Hallo,

dann ersetzte die Daten durch ein paar Dummy-Daten, kein Mensch braucht deine Datei mit Originaldaten.

Du postest hier ein paar Zeilen Code, völlig aus dem weiteren Code gerissen, und erwartest eine Lösung.

Wenn dein Auto kaputt ist, fährst du dann mit dem Taxi zur Werkstatt oder bringst du dein Auto dort hin?

Gruß Werner
Antworten Top
#10
Hallo Klaus-Dieter, 

ich glaube dran könnte es liegen. 
Die letzte Zeile ermittel ich so: 

Sub IngLetzteZeile()
 
  letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
  MsgBox letzteZeile
 
End Sub


Gruß
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste