25.12.2015, 11:13
(Dieser Beitrag wurde zuletzt bearbeitet: 25.12.2015, 11:14 von Scolex2015.)
(24.12.2015, 23:54)Rabe schrieb: Hi,
jetzt schreibe ich es doch:
wenn atilla sich Steffls Code vornimmt und eine Verbesserung einbaut, dann solltest Du nicht mit Steffls unverändertem Code weiterarbeiten, sondern atillas Code verwenden. Wenn Du den Code nicht verstehst, solltest Du bei ihm nachfragen.
Morgen, also vorweg nochmal großes Dankeschön für die große Anteilnahme...
...der Grund warum ich Atillas Code erstmal hinten in meiner Überlegung angestellt hatte war der, dass ich glaubte den Lösungsansatz in Steffl (Formelerhaltung) und Schauan (Tabellenübernahme) zu finden. Atillas Code sieht formtechnisch erstmal sehr gut aus überschreibt aber in der Tabelle die alten Datensätze. Aufgrund dessen versuche ich immernoch
Steffls Code mit Schauan seinen zu kombienieren. Wenn der Code steht kann man immernoch Schönheitskorrekturen vornehmen aber die Funktionalität geht mir erstmal vor. Was keinerlei undankbarkeit oder ignoranz geschuldet sein soll. Wir haben hier immernoch drei Top Codes die aber alle nicht komplett funktionieren und irgendwie zusammengepuzzeld werden wollen.
Steffl + Schauan: Bei der Verschmelzung hat Steffls Code die Eigenschaft verloren die Formeln zu erhalten.
Zitat:Sub Dateneingabe()
'Bildschirm höre auf zu zappeln!
Application.ScreenUpdating = False
'Bereich von bis wird kopiert
Sheets("Eingabemaske").Range("A7:G7").Copy
'Wenn letzte Zeile des Tabellenbereiches nicht leer ist, dann
If Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).Value <> "" Then
'unter dem Bereich einfuegen
Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
'ansonsten
Else
'nochmal nach oben und dann unter den Daten einfuegen
Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
'Ende Wenn letzte Zeile des Tabellenbereiches nicht leer ist, dann
End If
'Bereich von bis wird geleert
Range("A7:G7").ClearContents
'Bildschirm darf wieder zappeln
Application.ScreenUpdating = True
'Kopiermodus beenden
Application.CutCopyMode = False
End Sub
Atillas Code: Verbesserung von Steffl, der aber leider Schauan seinen Part nicht mehr realisiert, die tabellarische Einordnung.
Zitat:Sub Zeile_kopieren()
Dim lngC As Long
'Zappel nicht!
Application.ScreenUpdating = False
With Worksheets("Datenmaske")
lngC = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
If lngC = 3 Then
If Application.CountA(Range("A2:G2")) = 0 Then lngC = 2
End If
'Bereich kopieren
Sheets("Eingabemaske").Range("A7:G7").Copy
'einfügen in erste freie Zeile in ausgabe
.Cells(lngC, 1).PasteSpecial xlPasteValues
End With
Worksheets("Eingabemaske").Range("A7,C7,E7:F7").ClearContents
'Zappel wieder!
Application.ScreenUpdating = True
'Kopiermodus beenden
Application.CutCopyMode = False
End Sub
Zwei Teile und eine Verbesserung und dennoch kommen wir nicht ans Ziel. . . :22: