4.3k Aufrufe
Gefragt in Tabellenkalkulation von ki2k Einsteiger_in (57 Punkte)
Hallo

Hab mir zur kostenberechnung ne Excel-Tabelle gemacht.

Ich addiere bei mehreren Positionen die anzahl Stücke mit dem entsprechenden Preis um dann auf einen Totalen Warenwert zu kommen.

Anzahl Artikel Stückpreis Total

1 Kartoffel à 32.- = 32.-
12 Möhren à 18.- = 216.-
etc.

Gesamttotal
= 248.-

Die Stückzahlen sind standart auf Null.
Wenn ich Excel schliesse und wieder öffne, dann sind alle Werte auf Null um eine neue kalkulation zu starten.

Da ich aber nicht jedes mal Excel neu starten will, frage ich mich, ob es ne Funktion gibt, um die Spalte mit der "Anzahl" wieder bei allen Positionen auf 0 zu stellen?

Danke für Eure Hilfe

5 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Unbekannte(r),

benutze eine Mustervorlage.

Gruß Hajo
0 Punkte
Beantwortet von coros Experte (4k Punkte)
HAllo,

man kann das auch über ein kleines VBA-Makro realisieren.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Sub Spalte_leeren()
Range("A1:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row) = 0
End Sub
Mit dem Makro werden alle Werte in der Spalte A von Zeile 1 bis zur letzten beschriebenen Zeile auf den Wert 0 gesetzt.
Handelt es sich bei Dir um eine andere Spalte, so muss in dem Makro die Zellbezeichnung und in der Anweisung

ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Rowdie Spaltenindexzahl (ist die Zahl hinter "Rows.Count,") angepasst werden. Bei Spalte B wäre als Zellbezeichnung der Buchstabe "B" und als Spaltenindexnummer die Zahl 2 anzugeben. Bei Spalte C wäre es der Buchstabe C und die Indexzahl 3 usw. usw.

Ein genaueres Makro ist hier nicht möglich, da man dazu zu wenig von Deiner Datei, wie z.B. um welchen Bereich es geht, kennt.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von ki2k Einsteiger_in (57 Punkte)
Hallo coros

Danke für die Hilfe. Funktioniert einwandfrei.
Ein Problem hab ich aber noch.
Meine Tabelle beginnt in der Spalte A erst mit Zeile 5 und geht bis 23. Bei Spalte H von Zeile 5 bis 18.
Mir werden jetzt aber auch 0en eingesetzt wo ich keine möchte.
Kann man den Bereich definieren von wo bis wo das Macro arbeitet?

Gruss
Ki2k
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Ki2k,

deshalb schrieb ich ja auch

Ein genaueres Makro ist hier nicht möglich, da man dazu zu wenig von Deiner Datei, wie z.B. um welchen Bereich es geht, kennt.

Wenn hier keine genauen Angaben gemacht werden, gibt es halt nur ein Beispielcode, der nie so sein wird, wie Du es benötigst. In Zukunft daher: Teile uns mehr Details zu Deiner Datei mit.

Nachfolgend das Makro so abgeändert, dass es Dich zufrieden stellen sollte.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Sub Spalte_leeren()
Range("A5:A23, H5:H18") = 0
End Sub

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von ki2k Einsteiger_in (57 Punkte)
Hi Coros

Vielen Dank. Jetzt hab ichs begriffen und es funktioniert einwandfrei :)
Eine sehr hilfreiche Homepage hast du da. Top
(Einziges kleines Manko ist, dass die Erklärungen aus dem Office 2003 sind. Brauchte etwas Zeit um die Schaltflächen im Office 2007 zu finden).
Aber nun funktionierts !!!

Gruss
Kiril
...