Zeilensprung funktioniert noch nicht
#1
Guten Morgen allerseits,

vor ein paar Tage, habe ich hier nach Hilfe gesucht und diese auch bekomme, leider funktioniert dies aber immer noch nicht richtig- und ich weiß absolut nicht woran es liegen könnte. Deshalb versuche ich es nochmal, vielleicht hat ja einer von euch noch eine Idee.

Folgende Problemstellung:

In einer Excel Datei mit 3 Tabellen werden in Tabelle 1 (in verschieden Zellen) Daten eingetragen - diese Daten sollen dann per Button Klick in Tabelle 3 Kopiert werden, in Zeile 2  (für eine Serienbrieffunktion).

Nach dem ersten Kopier Vorgang werden die Daten in Tabelle 1 per Button Klick gelöscht und neue Eingetragen- danach sollen diese wieder in Tabelle 3 kopiert werden, diesmal allerdings in Zeile 3.

Dafür habe ich hier von jemanden folgenden Code erhalten:

  Dim Quelltab As Worksheet
  Dim Zieltab As Worksheet
  Dim lngZ As Long
 
  Set Quelltab = ActiveWorkbook.Worksheets("Tabelle1")
  Set Zieltab = ActiveWorkbook.Worksheets("Tabelle3")
  With Zieltab
     lngZ = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
 
     .Cells(lngZ, 2) = Quelltab.Range("N12")    
     .Cells(lngZ, 3) = Quelltab.Range("C16")    

End With

End Sub

Dieser hat ganz am Anfang (in einer Probedatei funktioniert).
Irgendwas mache ich aber falsch, da mir in Tabelle 3 immer doch zweite Zeile überschreibt. Nachdem ich nochmal gegoogelt habe, bin ich auf folgende Möglichkeit gestoßen:

Dim lngZeilen As Long
 
  With Tabelle3
     lngZeilen = IIf(Len(.Cells(.Rows.Count, 1)), .Rows.Count, .Cells(.Rows.Count, 1).End(xlUp).Row) + 1
     
     End If
     .Cells(lngZeilen, 2).Value = Tabelle1.Range("C10").Value
     .Cells(lngZeilen, 3).Value = Tabelle1.Range("C11").Value
     .Cells(lngZeilen, 4).Value = Tabelle1.Range("C12").Value
  End With
End Sub


Aber auch hier das gleich Problem, es wird immer wieder Zeile 2 in Tabelle 3 überschrieben.

Ich weiß nicht ob das unbedingt wichtig ist, aber es kann auch sein, dass in Tabelle 1 nicht alle Zellen immer einen Inhalt aufweißen.

Hatte vielleicht noch jemand eine Idee oder weiß wie ich hinbekommen könnte.

Vielen Danke für eure Hilf und Bemühungen!!!

Viele Grüße

Basti
Top
#2
Morgen,

(23.02.2017, 09:49)Basti5 schrieb: lngZ = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
Diese Zeile ermittelt die erste freie Zeile in Spalte B. Kann es sein, dass hier keine in der letzten Zeile stehen Werte stehen? Welche Spalte ist denn immer gefüllt? Alternativ kannst Du auch einen Zähler einbauen, der in irgendeiner Zelle steht.
Gruß
Michael
Top
#3
Hallo,

gefüllt sind auf jeden Fall immer Spalte C und Spalte D und Spalte G.

Gruß
Top
#4
Alles klar - hab´s kapiert- funkitionert- Danke!!!

:17:   :19:
Top


Gehe zu:


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