Excel Rechnungserstellung Leerzeilen vermeiden

Hallo,

habe ein Problem mit Excel:

Für eine Rechnungskalkulation möchte ich auf Blatt eins die einzelnen Komponenten auswählen. Hierzu stehen bereits alle möglichen Teile in der Tabelle und man muss nur noch die Anzahl eingeben.

Auf Seite zwei entsteht nun ein Angebot, dass die entsprechenden Daten aus Blatt eins zieht. Soweit funktioniert das ganze auch wunderbar.

Allerdings kann es vorkommen, dass einzelne Komponenten überhaupt nicht benötigt werden. Das gibt momentan auf dem Angebot eine überflüssige Zeile.

Wie kann ich solche überflüssigen Zeilen vermeiden oder anders gefragt, wie kann ich nur Zeilen „kopieren“, in denen die Anzahl > 0 ist?

Hoffe das war verständlich.

Gruß
al cazone

Hi Al Cazone,

habe ein Problem mit Excel:

was hast du beim Kauf eines MS-Produktes erwartet? :smile:)

Für eine Rechnungskalkulation möchte ich auf Blatt eins die
einzelnen Komponenten auswählen. Hierzu stehen bereits alle

Auf Seite zwei entsteht nun ein Angebot, dass die
entsprechenden Daten aus Blatt eins zieht.

Allerdings kann es vorkommen, dass einzelne Komponenten
überhaupt nicht benötigt werden. Das gibt momentan auf dem
Angebot eine überflüssige Zeile.

Wie kann ich solche überflüssigen Zeilen vermeiden oder anders
gefragt, wie kann ich nur Zeilen „kopieren“, in denen die
Anzahl > 0 ist?

Hoffe das war verständlich.

Ja, es war sehr verständlich. Nur wir kennen deine Tabellenstrukturen nicht. Um dir eine „passende“ Lösung anbieten zu können ist das schlecht.

Vorschlag, bastle mal eine Beispielmappe die in Blatt 1 z.B. so aussieht:

│ A │ B │ C │ D │
──┼────────┼──────────┼────┼────┤
1 │ Anzahl │ Artikel │ EK │ VK │
──┼────────┼──────────┼────┼────┤
2 │ 2 │ Artikel1 │ 1 │ 10 │
──┼────────┼──────────┼────┼────┤
3 │ 0 │ Artikel2 │ 2 │ 11 │
──┼────────┼──────────┼────┼────┤
4 │ 5 │ Artikel3 │ 3 │ 12 │
──┼────────┼──────────┼────┼────┤
5 │ 7 │ Artikel4 │ 4 │ 13 │
──┴────────┴──────────┴────┴────┘

Das geht fix wenn du z.B. in B2 einträgst „Artikel1“ und das nach unten „ziehst“, dann bilden sich die anderen Artikelnummern durch Excel selbst, gleichfalls bei EK und VK.

Demenstprechend das Blatt 2 so manuell ausfüllen daß man erkennt wo da was aus Blatt 1 „geholt“ wurde, also die Zellen die durch Excelformeln oder ein Makro befüllt werden sollen farblich markieren.
Unerwünschte Leerzeilen weglassen.

Lade das dann mit FAQ:2861 o.ä. hoch und gib den Link bekannt.

Gruß
Reinhard

Hallo,

vielen Dank für dieses Angebot.

Die Datei findest du unter:
http://www.hostarea.de/server-09/September-4e5b8b1ff…

Gruß und Danke
al cazone

http://www.hostarea.de/server-09/September-cbef7649f…

Hallo Excel-Freund

spontan fällt mir nur die obige Lösung mit „Filter“ ein.
Möglicherweise findest Du noch einen Experten für eine VBA-Lösung?

mfG Hermes

Die Datei findest du unter:
http://www.hostarea.de/server-09/September-4e5b8b1ff…

Hi Jan,

http://www.hostarea.de/server-09/September-96225e339…

hat den Code:

Option Explicit
'
Sub Rechnung()
Dim wksK As Worksheet, wksR As Worksheet, ZeiK As Long, ZeiR As Long
Set wksK = Worksheets("Kalkulation")
Set wksR = Worksheets("Rechnung")
With wksR
 .Range("A6:E1000").ClearContents
 ZeiK = 4
 ZeiR = 6
 While wksK.Cells(ZeiK, 1) ""
 If wksK.Cells(ZeiK, 3) "" Then
 .Cells(ZeiR, 1) = wksK.Cells(ZeiK, 1)
 .Cells(ZeiR, 2) = wksK.Cells(ZeiK, 2)
 .Cells(ZeiR, 3) = wksK.Cells(ZeiK, 5)
 .Cells(ZeiR, 4) = wksK.Cells(ZeiK, 3)
 .Cells(ZeiR, 5) = wksK.Cells(ZeiK, 6)
 ZeiR = ZeiR + 1
 End If
 ZeiK = ZeiK + 1
 Wend
 .Cells(ZeiR + 3, 1) = "Gesamtsumme"
 .Cells(ZeiR + 3, 5).FormulaLocal = "=Summe(E6:E" & ZeiR + 1 & ")"
End With
End Sub

Gruß
Reinhard

Ah, sehr gut.

Habe den Code noch auf meine Bedürfnisse angepasst und jetzt funktioniert das wunderbar.

Danke
al cazone