2k Aufrufe
Gefragt in Tabellenkalkulation von sfr0815 Einsteiger_in (11 Punkte)
Hallo,
ich habe folgendes Problem.
Ich habe in einer Excel Datei folgende Datenblätter:
BON
Kunde
Liste gesamt
Im Tabellblatt "BON" werden täglich Einträge in den Zellen vorgenommen. Einige dieser Eintragungen möchte ich am Ende des Tages in die passenden Spalten in der "Liste gesamt" geschrieben haben.Am darauf folgenden Tag wird die Liste "Bon erneut gefüllt und muss im Anschluss wieder an die bestehende "Liste gesamt angehängt werden.
Ich habe auch eine Musterdatei dabei, damit man es sich besser ansehen kann.

Ich freue mich über Euere hilfreichen Antworten.

Danke,
Stefan

4 Antworten

0 Punkte
Beantwortet von sfr0815 Einsteiger_in (11 Punkte)
Wie kann ich denn hier die Musterdatei hochladen?
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Stefan,

eine Musterdatei kannst z.B. hier hochladen.
Den Downloadlink musst du dann hier posten.

Gruß

M.O.
0 Punkte
Beantwortet von sfr0815 Einsteiger_in (11 Punkte)
Vielen Dank für die Hilfe beim Upload. Hier jetzt die Musterdatei.

http://www.file-upload.net/download-8526742/Test-Kasse.xlsx.html
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Stefan,

ich hoffe, ich habe dich richtig verstanden.
Das folgende Makro gehört in ein Standard-Modul deiner Arbeitsmappe:

Sub kopieren()

Dim zeile, lzeile As Long
Dim antwort

'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False

'erste Leere Zeile im Arbeitsblatt Liste gesamt suchen
For zeile = 3 To Worksheets("Liste gesamt").UsedRange.SpecialCells(xlCellTypeLastCell).Row
If IsEmpty(Worksheets("Liste gesamt").Cells(zeile, 2)) = True Then
lzeile = zeile
Exit For
End If
Next zeile

'Daten kopieren
zeile = 5 'Startzeile
Do
Worksheets("Liste gesamt").Cells(lzeile, 2) = Worksheets("Bon").Cells(1, 2) 'Rechnungsdatum
Worksheets("Liste gesamt").Cells(lzeile, 3) = Worksheets("Bon").Cells(zeile, 1) 'Kundennummer
Worksheets("Liste gesamt").Cells(lzeile, 4) = Worksheets("Bon").Cells(zeile, 2) 'Artikelnummer
Worksheets("Liste gesamt").Cells(lzeile, 5) = Worksheets("Bon").Cells(2, 2) 'Rechnungsnummer
Worksheets("Liste gesamt").Cells(lzeile, 6) = Worksheets("Bon").Cells(zeile, 3) 'Artikel
If IsEmpty(Worksheets("Bon").Cells(zeile, 4)) = False Then
Worksheets("Liste gesamt").Cells(lzeile, 8) = "Verkauf"
Worksheets("Liste gesamt").Cells(lzeile, 9) = Worksheets("Bon").Cells(zeile, 4) 'Preis
End If
If IsEmpty(Worksheets("Bon").Cells(zeile, 5)) = False Then
Worksheets("Liste gesamt").Cells(lzeile, 8) = "Miete"
Worksheets("Liste gesamt").Cells(lzeile, 9) = Worksheets("Bon").Cells(zeile, 5) 'Preis
End If
zeile = zeile + 1
lzeile = lzeile + 1
Loop Until IsEmpty(Worksheets("Bon").Cells(zeile, 1)) = True

'Ggf. Inhalt im Blatt Bon löschen
'Falls nicht gebraucht löschen
'Nachfrage ob Daten gelöscht werden sollen
antwort = MsgBox("Sollen alle Daten im Arbeitsblatt Bon gelöscht werden?", 4, "Daten löschen?")
'Löschen, falls Antwort ja
If antwort = vbYes Then
With Worksheets("Bon")
.Range("B1:B2").ClearContents
.Range(Cells(5, 1), Cells(.UsedRange.SpecialCells(xlCellTypeLastCell).Row, 6)).ClearContents
End With
End If
'nur bis hierhin löschen, falls Löschroutine nicht benötigt wird

'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True

End Sub


Gruß

M.O.
...