hallo an alle,
ich habe folgendes problem:
ich kopiere mittels folgendem code einzelne zellen in ein anderes Worksheet:
Private Sub CommandButton5_Click()
Dim Loletzte As Long
Loletzte = IIf(IsEmpty(Worksheets(„Übersicht“).Range(„A65536“)), Worksheets(„Übersicht“).Range(„A65536“).End(xlUp).Row + 1, 65536)
Worksheets(„Übersicht“).Cells(Loletzte, 1) = ActiveSheet.Range(„A15“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 2) = ActiveSheet.Range(„B15“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 4) = ActiveSheet.Range(„E15“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 5) = ActiveSheet.Range(„D5“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 6) = ActiveSheet.Range(„H15“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 7) = ActiveSheet.Range(„E25“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 8) = ActiveSheet.Range(„E24“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 9) = ActiveSheet.Range(„G7“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 10) = ActiveSheet.Range(„G15“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 11) = ActiveSheet.Range(„I15“).Value
Loletzte = IIf(IsEmpty(Worksheets(„Übersicht“).Range(„A65536“)), Worksheets(„Übersicht“).Range(„A65536“).End(xlUp).Row + 1, 65536)
Worksheets(„Übersicht“).Cells(Loletzte, 1) = ActiveSheet.Range(„A16“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 2) = ActiveSheet.Range(„B16“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 4) = ActiveSheet.Range(„E16“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 5) = ActiveSheet.Range(„D5“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 6) = ActiveSheet.Range(„H16“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 7) = ActiveSheet.Range(„E25“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 8) = ActiveSheet.Range(„E24“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 9) = ActiveSheet.Range(„G7“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 10) = ActiveSheet.Range(„G16“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 11) = ActiveSheet.Range(„I16“).Value
Loletzte = IIf(IsEmpty(Worksheets(„Übersicht“).Range(„A65536“)), Worksheets(„Übersicht“).Range(„A65536“).End(xlUp).Row + 1, 65536)
Worksheets(„Übersicht“).Cells(Loletzte, 1) = ActiveSheet.Range(„A17“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 2) = ActiveSheet.Range(„B17“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 4) = ActiveSheet.Range(„E17“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 5) = ActiveSheet.Range(„D5“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 6) = ActiveSheet.Range(„H17“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 7) = ActiveSheet.Range(„E25“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 8) = ActiveSheet.Range(„E24“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 9) = ActiveSheet.Range(„G7“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 10) = ActiveSheet.Range(„G17“).Value
Worksheets(„Übersicht“).Cells(Loletzte, 11) = ActiveSheet.Range(„I17“).Value
MsgBox " Daten erfolgreich übernommen ", vbInformation, " Sicherung in Worksheet Übersicht "
End Sub
Es funktioniert auch alles, wobei die beiden letzten blöcke (eigentlich 8 an der zahl) nur dann eingeleitet werden dürfen, wenn in den Zellen, die auf x17 (bzw. auf x16) enden wirklich etwas eingetragen wurde. Die eintragungen laufen systematisch ab, d.h. in den x15er zellen ist immer etwas eingetragen , aber von x16-x22 nicht. jedoch ist es nicht üblich (das passiert auch nicht so), dass in den x15er und z.b. in den x17er etwas eingetragen ist und die x16er somit übersprungen wurde. Also ich bräuchte eine art prüfung vor jedem „block“, ob in den besagten zellen eine eintragung ist oder nicht. wenn nicht sollten die restlichen blöcke übersprungen werden und nur z.b. der erte übertragen werden.
hoffe ich habe das einigermaßen verständlich schildern können.
wäre super wenn mir jemand einen tipp geben könnte.
ich bin wirklich kein experte
. habe den code mehr oder weniger zusammengeschustert. ist bestimmt nicht die eleganteste lösung, jedoch als laie, also für mich verständlich.
mfg
chris