Supportnet / Forum / Tabellenkalkulation
Bestellwert kumulieren
Frage
Hallo,
habe eine Tabelle mit ein paar Spalten. In den Spalten steht jeweils die Artikelnummer, Bezeichnung und der Preis pro Artikel. In einer weiteren Spalte gebe ich dann ein Bestelldatum, die Anzahl der Artikel pro Bestellung an und lass in der nächsten Spalte den Gesamtbestellwert errechnen. Wenn die Bestellung dann eingegangen ist, lösche ich die Bestellung wieder heraus. Jetzt suche ich nach einer Möglichkeit die Bestellwerte übers Jahr zu kumulieren, so das ich am Ende des Jahres weiss wieviel Bestellkosten pro Artikel ich habe. Dieses sollte automatisch funktionieren sobald ich eine neue Bestellung mit Bestelldatum eingebe. Kann mir irgendjemand einen Ansatz sagen, wie ich es in VBA bewerkstelligen kann, denn ich denke rein mit Excel wird es nicht gehen.
Gruss Holly
Antwort 1 von schnallgonz
N´abend Holly,
Vorschlag:
Lass die Artikelübersicht z.B. in Blatt1 und gib die Bestellungen mit allen bisherigen Formeln (natürlich mit neuen Bezügen) in Blatt2 ein.
Dort kannst Du alles so belassen und hast immer alle erledigten Bestellungen im Blick.
Problem könnte sein, dass sich im Laufe des Jahres Deine ArtikelDB ändert und dann den erledigten Bestellungen neue Werte zugewiesen würden.
Kann man aber abhelfen, indem vor Änderungen in Tab1 alle Werte in Tab2 gefixt werden (von Formel auf Festwert).
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Vorschlag:
Lass die Artikelübersicht z.B. in Blatt1 und gib die Bestellungen mit allen bisherigen Formeln (natürlich mit neuen Bezügen) in Blatt2 ein.
Dort kannst Du alles so belassen und hast immer alle erledigten Bestellungen im Blick.
Problem könnte sein, dass sich im Laufe des Jahres Deine ArtikelDB ändert und dann den erledigten Bestellungen neue Werte zugewiesen würden.
Kann man aber abhelfen, indem vor Änderungen in Tab1 alle Werte in Tab2 gefixt werden (von Formel auf Festwert).
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 2 von Holly
Hallo Schnallgonz,
erstmal Danke für deine schnelle Antwort, allerdings komme ich damit nicht ganz klar. Ich hätte dann ein 2.Tabellenblatt wo ich meine Bestellungen drin habe, aber ich habe doch noch immer nicht die kumulierten Werte für die Bestellungen über das Jahr oder? Denn das ist mein großes Problem, wie ich Bestellwerte kumulieren kann, obwohl die Bestellwerte der einzelnen Bestellungen immer wieder rausgelöscht werden.
Gruss Holly
erstmal Danke für deine schnelle Antwort, allerdings komme ich damit nicht ganz klar. Ich hätte dann ein 2.Tabellenblatt wo ich meine Bestellungen drin habe, aber ich habe doch noch immer nicht die kumulierten Werte für die Bestellungen über das Jahr oder? Denn das ist mein großes Problem, wie ich Bestellwerte kumulieren kann, obwohl die Bestellwerte der einzelnen Bestellungen immer wieder rausgelöscht werden.
Gruss Holly
Antwort 3 von schnallgonz
Moin Holly,
warum wilst Du in der Tab2 die Bestellwerte löschen?
Lass die Dinger einfach stehen.
Eine normale Summenformel drunter, fertig, oder verstehe ich das etwas falsch?
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
warum wilst Du in der Tab2 die Bestellwerte löschen?
Lass die Dinger einfach stehen.
Eine normale Summenformel drunter, fertig, oder verstehe ich das etwas falsch?
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 4 von schnallgonz
Mir ist gerade ein Grund eingefallen , warum Du ein Problem sehen könntest.
Du gibst in Blatt2 die ArtikelNr ein, Beschreibung und Preis holst Du mit SVERWEIS.
Daneben Eingabe von Datum und Anzahl, Summenformel, fertig.
Jahreswerte addierst Du ebenfalls mit einer simplen Summenformel.
Alles klaro?
Wenn SVERWEIS nicht zu Deinen guten Bekannten gehört,
kannst Du hier eine wunderbare Erklärung runterladen.
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Du gibst in Blatt2 die ArtikelNr ein, Beschreibung und Preis holst Du mit SVERWEIS.
Daneben Eingabe von Datum und Anzahl, Summenformel, fertig.
Jahreswerte addierst Du ebenfalls mit einer simplen Summenformel.
Alles klaro?
Wenn SVERWEIS nicht zu Deinen guten Bekannten gehört,
kannst Du hier eine wunderbare Erklärung runterladen.
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 5 von Holly
Moin Schnallgonz,
du hast Recht, bin kein großer Held ins Sachen Sverweis, allerdings habe ich das schon in der Datei hingebracht. Trotzdem weiß ich immer noch nicht wie das mit dem kumulieren funktioniert. Ich habe im ersten Tabellenblatt: Spalte A: Artikelnummer, Spalte B: Bezeichnung, Spalte C: Preis/Stück, Spalte D: Bestand, Spalte E: Bestellmenge, Spalte F: Preis/Bestellung. Wenn ich jetzt etwas entnehme, ziehe ich das vom Bestand ab. Wenn der Bestand eine gewisse Menge unterschritten hat, mache ich einfach eine Bestellung indem ich in die Spalte E meine gewünschte Menge eingebe und dann wird im Tabellenblatt 2 mit Sverweis die Bestellmenge, der Bestellpreis komplett und alle anderen Daten übertragen und ich lass es ausdrucken. Wenn die Bestellung jetzt eingegangen ist, trage ich es einfach beim Bestand ein und lösche die Zelle "Bestellmenge", damit ich weiß das keine offene Bestellung mehr läuft. Wenn ich allerdings die Bestellmenge wieder lösche ist natürlich auch der Bestellpreis komplett weg und ich habe nichts mehr zum kumulieren. Wie kann ich jetzt diesen Bestellpreis jetzt in eine Zelle übergeben, ohne das er abhängig ist von der Zelle "Bestellmenge"?
Gruss Holly
du hast Recht, bin kein großer Held ins Sachen Sverweis, allerdings habe ich das schon in der Datei hingebracht. Trotzdem weiß ich immer noch nicht wie das mit dem kumulieren funktioniert. Ich habe im ersten Tabellenblatt: Spalte A: Artikelnummer, Spalte B: Bezeichnung, Spalte C: Preis/Stück, Spalte D: Bestand, Spalte E: Bestellmenge, Spalte F: Preis/Bestellung. Wenn ich jetzt etwas entnehme, ziehe ich das vom Bestand ab. Wenn der Bestand eine gewisse Menge unterschritten hat, mache ich einfach eine Bestellung indem ich in die Spalte E meine gewünschte Menge eingebe und dann wird im Tabellenblatt 2 mit Sverweis die Bestellmenge, der Bestellpreis komplett und alle anderen Daten übertragen und ich lass es ausdrucken. Wenn die Bestellung jetzt eingegangen ist, trage ich es einfach beim Bestand ein und lösche die Zelle "Bestellmenge", damit ich weiß das keine offene Bestellung mehr läuft. Wenn ich allerdings die Bestellmenge wieder lösche ist natürlich auch der Bestellpreis komplett weg und ich habe nichts mehr zum kumulieren. Wie kann ich jetzt diesen Bestellpreis jetzt in eine Zelle übergeben, ohne das er abhängig ist von der Zelle "Bestellmenge"?
Gruss Holly
Antwort 6 von schnallgonz
Ich glaube, bei mir ist erst jetzt der Groschen gefallen...
Mit VBA fallen mir spontan 2 Lösungen ein.
Du markierst die Bestellung in Tab1 und ein Makro überträgt die Markierung als Festwert in Tab2 in die nächste freie Zeile einer festgelegten Spalte Du läßt die Formeln in Tab2 wie sie sind und ein Makro wandelt den Formelwert für den Bestellpreis in einen FestwertFür den jeweiligen Makroaufruf weist man dem Code einem Button zu.
Habe ich die Vorschläge verständlich beschrieben?
Wenn das was für Dich ist, melde Dich nochmal.
Dann bastel ich das entsprechende Listing.
Dazu wären ein paar Positionsangaben für Tab2 wichtig.
Bis dann
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Mit VBA fallen mir spontan 2 Lösungen ein.
Habe ich die Vorschläge verständlich beschrieben?
Wenn das was für Dich ist, melde Dich nochmal.
Dann bastel ich das entsprechende Listing.
Dazu wären ein paar Positionsangaben für Tab2 wichtig.
Bis dann
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 7 von Holly
Hallo Schnallgonz,
ja ich denke mit der 2.Lösung müsste es klappen. Jetzt bräuchte ich eigentlich nur den Code um den Bestellwert in einen Festwert umzuwandeln und später dann die nächsten Bestellwerte aufaddieren zu können. Wäre es möglich diese Aufaddierung automatisch maschen zu lassen, jedesmal wenn ich in der Bestellmenge einen neuen Wert eingebe? Leider habe ich für Tab2 noch keine Positionsangaben, da ich ja bisher nicht weiß wie das kumulieren funktioniert. Mir würde es eigentlich schon reichen, wenn du mir einen Beispielcode nennen könntest, den werde ich dann versuchen so anzupassen, das es auf meine Tabellen zutrifft. Da ich die ganze Tabelle sowieso nochmal komplett machen wollte.
Gruss Holly
ja ich denke mit der 2.Lösung müsste es klappen. Jetzt bräuchte ich eigentlich nur den Code um den Bestellwert in einen Festwert umzuwandeln und später dann die nächsten Bestellwerte aufaddieren zu können. Wäre es möglich diese Aufaddierung automatisch maschen zu lassen, jedesmal wenn ich in der Bestellmenge einen neuen Wert eingebe? Leider habe ich für Tab2 noch keine Positionsangaben, da ich ja bisher nicht weiß wie das kumulieren funktioniert. Mir würde es eigentlich schon reichen, wenn du mir einen Beispielcode nennen könntest, den werde ich dann versuchen so anzupassen, das es auf meine Tabellen zutrifft. Da ich die ganze Tabelle sowieso nochmal komplett machen wollte.
Gruss Holly
Antwort 8 von schnallgonz
Hi,
ich glaube, heute stehe ich echt auf der Leitung...
Ich dachte bei Lösung2, dass Du in Tab2 praktisch alle Bestellungen des Jahres quasi als Protokoll listest .
Der Bestellpreis wird per Makro in einen Festwert umgewandelt.
Summenformel, fertig.
Wenn Dich die Summen je Artikel interessieren, kann man das wunderbar mit DBSUMME lösen.
Hier erstmal der Code für den Festwert.
(Bestellpreise markieren, die in Festwert umgewandelt werden sollen)
Jetzt nehme ich aber an, dass Du nur den jeweiligen Bestellpreis in einer Extrazelle addieren willst?
Wenn das richtig ist, wäre Folgendes möglich:.
Beispiel für Deine Tab1:
In Spalte F stehen die Bestellpreissummen, in Spalte E die bestellten Mengen, richtig?
Jedesmal, wenn Du in Spalte E einen Wert einträgst, wird die Summe aus Spalte F dem Wert in Spalte G hinzugerechnet.
Bevor ich jetzt Gehirnschmalz in diese Lösung stecke, frage ich lieber nochmal, ob das die Lösung für Dich ist und vor allen Dingen:
erstmal Mittag Essen
Bis später
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
ich glaube, heute stehe ich echt auf der Leitung...
Ich dachte bei Lösung2, dass Du in Tab2 praktisch alle Bestellungen des Jahres quasi als Protokoll listest .
Der Bestellpreis wird per Makro in einen Festwert umgewandelt.
Summenformel, fertig.
Wenn Dich die Summen je Artikel interessieren, kann man das wunderbar mit DBSUMME lösen.
Hier erstmal der Code für den Festwert.
(Bestellpreise markieren, die in Festwert umgewandelt werden sollen)
Sub BestellpreisFormelFestwert()
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
End SubJetzt nehme ich aber an, dass Du nur den jeweiligen Bestellpreis in einer Extrazelle addieren willst?
Wenn das richtig ist, wäre Folgendes möglich:.
Beispiel für Deine Tab1:
In Spalte F stehen die Bestellpreissummen, in Spalte E die bestellten Mengen, richtig?
Jedesmal, wenn Du in Spalte E einen Wert einträgst, wird die Summe aus Spalte F dem Wert in Spalte G hinzugerechnet.
Bevor ich jetzt Gehirnschmalz in diese Lösung stecke, frage ich lieber nochmal, ob das die Lösung für Dich ist und vor allen Dingen:
erstmal Mittag Essen
Bis später
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 9 von Holly
Hallo Schnallgonz,
ich möchte dir erstmal danken das du dich da so reinhängst, aber irgendwie habe ich das Gefühl ich habe das Ganze schlecht beschrieben. Also fange ich nochmal von vorne an. Die Spalten habe ich dir ja vorher schon beschrieben, allerdings habe ich für jeden Artikel nur eine Zeile, so das ich wenn ich 10 Artikel habe auch nur 10 Zeilen habe und in der dem Artikel entsprechender Zeile dann in die Spalte "Bestellmenge" eben meine Bestellmenge eintrage.
Zum Beispiel Artikelnummer 5 = E5 (dort wird meine Bestellmenge die ich bestellen will eingetragen) und aus E5 und C5 wird dann F5 ausgerechnet. Wenn ich jetzt aber die Bestellmenge nach Eingang in E5 wieder lösche dann wird natürlich auch der Wert F5 wieder auf 0 gesetzt. Jetzt müsste ich eben diesen Wert vorher an irgendeine Zelle übergeben wo dieser erstmal feststehen bleibt bis zur nächsten Bestellung und diese dann wieder aufsummiert wird. Am liebsten wäre mir das wenn dies alles beim Eintragen einer neuen Bestellmenge automatisch gehen würde.
Gruss Holly
ich möchte dir erstmal danken das du dich da so reinhängst, aber irgendwie habe ich das Gefühl ich habe das Ganze schlecht beschrieben. Also fange ich nochmal von vorne an. Die Spalten habe ich dir ja vorher schon beschrieben, allerdings habe ich für jeden Artikel nur eine Zeile, so das ich wenn ich 10 Artikel habe auch nur 10 Zeilen habe und in der dem Artikel entsprechender Zeile dann in die Spalte "Bestellmenge" eben meine Bestellmenge eintrage.
Zum Beispiel Artikelnummer 5 = E5 (dort wird meine Bestellmenge die ich bestellen will eingetragen) und aus E5 und C5 wird dann F5 ausgerechnet. Wenn ich jetzt aber die Bestellmenge nach Eingang in E5 wieder lösche dann wird natürlich auch der Wert F5 wieder auf 0 gesetzt. Jetzt müsste ich eben diesen Wert vorher an irgendeine Zelle übergeben wo dieser erstmal feststehen bleibt bis zur nächsten Bestellung und diese dann wieder aufsummiert wird. Am liebsten wäre mir das wenn dies alles beim Eintragen einer neuen Bestellmenge automatisch gehen würde.
Gruss Holly
Antwort 10 von schnallgonz
Hallo Holly,
bitte, manchmal dauerts eben länger, bis man sich versteht, insofern ist mein Name Programm :-)
Besser, man bringt zuerst den Sachverhalt auf die Reihe, als sinnlosen Code zu schreiben oder hinterherzuprogrammieren.
Ich glaube aber, jetzt hammers, mit meinem letzten Vorschlag
liege ich richtig.
In Spalte F trägst Du nichts ein, das besorgt ja eine Summenformel, habe ich geschnallt.
Deshalb ist meine Idee, dass in dem Moment , in dem Du in Spalte E die Bestellmenge einträgst, automatisch der in Spalte F errechnete Bestellgesamtpreis in Spalte G addiert wird.
Dann kannst Du anschliessend die Bestellmenge aus Spalte E und damit auch den Gesamtpreis in Spalte F löschen;
das ist insoweit ohne Auswirkung, weil in Spalte G ein Festwert steht und keine Formel.
Bei der Löschung wird nur 0 addiert, trägst Du eine neue Bestellmenge ein, wird sofort der nächste Gesamtpreis addiert.
Wenn Du dies einem detaillierten Bestellprotokoll in Tab2 vorziehst, brauchst Du eine Tab2 nicht mehr.
So, mal sehen, ob wir soweit klar sind.
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
bitte, manchmal dauerts eben länger, bis man sich versteht, insofern ist mein Name Programm :-)
Besser, man bringt zuerst den Sachverhalt auf die Reihe, als sinnlosen Code zu schreiben oder hinterherzuprogrammieren.
Ich glaube aber, jetzt hammers, mit meinem letzten Vorschlag
Zitat:
Jetzt nehme ich aber an, dass Du nur den jeweiligen Bestellpreis in einer Extrazelle addieren willst?
Jedesmal, wenn Du in Spalte E einen Wert einträgst, wird die Summe aus Spalte F dem Wert in Spalte G hinzugerechnet.
Jetzt nehme ich aber an, dass Du nur den jeweiligen Bestellpreis in einer Extrazelle addieren willst?
Jedesmal, wenn Du in Spalte E einen Wert einträgst, wird die Summe aus Spalte F dem Wert in Spalte G hinzugerechnet.
liege ich richtig.
In Spalte F trägst Du nichts ein, das besorgt ja eine Summenformel, habe ich geschnallt.
Deshalb ist meine Idee, dass in dem Moment , in dem Du in Spalte E die Bestellmenge einträgst, automatisch der in Spalte F errechnete Bestellgesamtpreis in Spalte G addiert wird.
Dann kannst Du anschliessend die Bestellmenge aus Spalte E und damit auch den Gesamtpreis in Spalte F löschen;
das ist insoweit ohne Auswirkung, weil in Spalte G ein Festwert steht und keine Formel.
Bei der Löschung wird nur 0 addiert, trägst Du eine neue Bestellmenge ein, wird sofort der nächste Gesamtpreis addiert.
Wenn Du dies einem detaillierten Bestellprotokoll in Tab2 vorziehst, brauchst Du eine Tab2 nicht mehr.
So, mal sehen, ob wir soweit klar sind.
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 11 von Holly
Hallo Schnallgonz,
jawohl so war das Ganze gemeint. Kann ich also deinen Code für den Festwert nehmen?
Gruss Holly
jawohl so war das Ganze gemeint. Kann ich also deinen Code für den Festwert nehmen?
Gruss Holly
Antwort 12 von schnallgonz
Hallo,
der schon gepostete Code tauscht im markierten Bereich nur Formeln gegen Festwerte, hilft Dir so also noch nicht weiter.
Die Gesamtlösung ist schon etwas länger, aber in Arbeit.
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
der schon gepostete Code tauscht im markierten Bereich nur Formeln gegen Festwerte, hilft Dir so also noch nicht weiter.
Die Gesamtlösung ist schon etwas länger, aber in Arbeit.
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 13 von schnallgonz
So Holly,
habe fertig.
Nachfolgenden Code mußt Du als VBA-Projekt Deiner Tabelle1 anlegen.
Wie geht das?
mit ALT+F11in VBA-Umgebung
im linken oberen Fenster Doppelklick auf Deine Tabelle1
in das rechte große Fenster das Listing kopieren
zurück in Deine Tabelle1, speichern, ausprobieren
Die Zeilen mit "Rem" sind nur Kommentarzeilen zur Erläuterung. Da habe ich auch geschrieben, dass als Standard die Verschiebung der Markierung bei ENTER nach unten eingestellt sein muß. Der Zeilenumbruch im SN ist nicht so wie er im Listing sein soll.
Sore bitte dafür, dass die Kommentare in einer Zeiel stehen.
Ich hoffe, das funzt .
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
habe fertig.
Nachfolgenden Code mußt Du als VBA-Projekt Deiner Tabelle1 anlegen.
Wie geht das?
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Rem wenn Werteingabe in Spalte E dann WertSpalteC x WertSpalteE nach SpalteG,
Rem wobei alter Zellinhalt SpalteG addiert wird
Rem funzt so nur, wenn Markierung nach Drücken von Enter nach unten verschoben wird
Rem wenn dieser Standard nicht eingestellt ist, OffsetIndex ändern oder
Rem Einstellungen unter Optionen Bearbeiten ändern
Rem
Rem Wenn Ziel = Spalte 5 (also Spalte E)
If Target.Column = 5 Then
Rem Wert aus SpalteE holen, eine Zeile höher wegen verschobener Markierung
i = ActiveCell.Offset(-1, 0).Value
Rem Wert aus SpalteC holen, eine Zeile höher wegen verschobener Markierung
j = ActiveCell.Offset(-1, -2).Value
Rem isse klar, oder?
i = i * j
Rem alten Wert aus SpalteG holen
k = ActiveCell.Offset(-1, 2).Value
Rem neuen Wert in SpalteG schreiben
ActiveCell.Offset(-1, 2).Value = i + k
End If
End SubDie Zeilen mit "Rem" sind nur Kommentarzeilen zur Erläuterung. Da habe ich auch geschrieben, dass als Standard die Verschiebung der Markierung bei ENTER nach unten eingestellt sein muß. Der Zeilenumbruch im SN ist nicht so wie er im Listing sein soll.
Sore bitte dafür, dass die Kommentare in einer Zeiel stehen.
Ich hoffe, das funzt .
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 14 von schnallgonz
N´abend Holly,
es geht auch etwas einfacher, unabhängig von dem Verschieben der Einfügemarke.
Sieht so aus:
MfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
es geht auch etwas einfacher, unabhängig von dem Verschieben der Einfügemarke.
Sieht so aus:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Rem wenn Werteingabe in Spalte E dann WertSpalteC x WertSpalteE nach SpalteG,
Rem wobei alter Zellinhalt SpalteG addiert wird
Rem
Rem Wenn Ziel = Spalte 5 (also Spalte E)
If Target.Column = 5 Then
Rem Wert aus SpalteE holen
i = Target.Offset(0, 0).Value
Rem Wert aus SpalteC holen
j = Target.Offset(0, -2).Value
Rem isse klar, oder?
i = i * j
Rem alten Wert aus SpalteG holen
k = Target.Offset(0, 2).Value
Rem neuen Wert in SpalteG schreiben
Target.Offset(0, 2).Value = i + k
End If
End SubMfG
schnallgonz
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 15 von Holly
Hallo Schnallgonz,
erstmal noch ein Riesen-Dankeschön für deine Hilfe und dein Bemühen. Werde es morgen mal probieren und melde mich dann wieder ob ich es hingebracht habe.
Gruss Holly
erstmal noch ein Riesen-Dankeschön für deine Hilfe und dein Bemühen. Werde es morgen mal probieren und melde mich dann wieder ob ich es hingebracht habe.
Gruss Holly
Antwort 16 von Holly
Hallo Schnallgonz,
habe deinen Code eingefügt und angepasst und er funktioniert super. Nochmals ein Riesendankeschön. Jetzt hätte ich noch ein kleines Anliegen. Ich habe ein Makro aufgezeichnet, welches die Daten für die Bestellung in Tabellenblatt 2 kopiert und dann Tabelle 2 sozusagen als "Bestellschein" ausdruckt. Ist es möglich das dieses automatisch geht sobald man in der Zelle Bestellmenge eine Eingabe macht?
Hier ist der Code den ich aufgezeichnet habe:
Range("B2,C2,D2,E2,F2,G2").Select
Range("G2").Activate
Selection.Copy
Sheets("Tabelle2").Select
Range("C4").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Sheets("Tabelle1").Select
Range("I2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Tabelle2").Select
Range("C10").Select
ActiveSheet.Paste
Sheets("Tabelle1").Select
Range("L2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Tabelle2").Select
Range("C12").Select
ActiveSheet.Paste
Sheets("Tabelle2").Select
ActiveSheet.PrintOut
Dieser funktioniert natürlich nur für die 2.Zeile und deshalb müsste ich für alle Zeilen das Ganze immer wieder so machen. Es müsste doch einen enfacheren Weg geben.
Gruss Holly
habe deinen Code eingefügt und angepasst und er funktioniert super. Nochmals ein Riesendankeschön. Jetzt hätte ich noch ein kleines Anliegen. Ich habe ein Makro aufgezeichnet, welches die Daten für die Bestellung in Tabellenblatt 2 kopiert und dann Tabelle 2 sozusagen als "Bestellschein" ausdruckt. Ist es möglich das dieses automatisch geht sobald man in der Zelle Bestellmenge eine Eingabe macht?
Hier ist der Code den ich aufgezeichnet habe:
Range("B2,C2,D2,E2,F2,G2").Select
Range("G2").Activate
Selection.Copy
Sheets("Tabelle2").Select
Range("C4").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Sheets("Tabelle1").Select
Range("I2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Tabelle2").Select
Range("C10").Select
ActiveSheet.Paste
Sheets("Tabelle1").Select
Range("L2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Tabelle2").Select
Range("C12").Select
ActiveSheet.Paste
Sheets("Tabelle2").Select
ActiveSheet.PrintOut
Dieser funktioniert natürlich nur für die 2.Zeile und deshalb müsste ich für alle Zeilen das Ganze immer wieder so machen. Es müsste doch einen enfacheren Weg geben.
Gruss Holly
Antwort 17 von schnallgonz
Hallo Holly,
schön, dass es funzt.
Auch auf den VBA-Geschmack gekommen, wie?
Es geht einfacher, was die Anwendung betrifft, der Code dazu ist etwas komplizierter.
Grundsätzlich würde ich es der Übersichtlichkeit halber so machen:
Du brauchst ein Listing für ein Modul, das die Kopierarbeit und das Einfügen in Tab2 übernimmt.
Dieses Makro (z.B."BSchein") ruft Du dann mit dem schon erfolgreich eingebauten Ereignis auf, indem Du am Ende vor End If einfach "BSchein" ohne Anführungszeichen schreibst.
Beispiel für Werteingabe Spalte E, vorausgesetzt, Markierung wird nach ENTER nach unten verschoben:
Das kopierst und änderst Du für die anderen Werte ab schreibst alles untereinander in das obige Modul, dessen Text immer mit End Sub aufhören muß.
Ausgangspunkt ist die Spalte E in Tab1.
mit ActiveCell.Offset(-1, 1).Copy kopierst Du den Wert aus der Spalte G, mit ActiveCell.Offset(-1, -1) aus Spalte D.
Im Zielbereich sieht´s ähnlich aus:
C4 = Cells(4, 3)
Bei Problemen nochmal melden.
MfG
schnallgonz
Fanatismus ist die Begeisterung der Beschränktheit.
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
schön, dass es funzt.
Auch auf den VBA-Geschmack gekommen, wie?
Es geht einfacher, was die Anwendung betrifft, der Code dazu ist etwas komplizierter.
Grundsätzlich würde ich es der Übersichtlichkeit halber so machen:
Du brauchst ein Listing für ein Modul, das die Kopierarbeit und das Einfügen in Tab2 übernimmt.
Dieses Makro (z.B."BSchein") ruft Du dann mit dem schon erfolgreich eingebauten Ereignis auf, indem Du am Ende vor End If einfach "BSchein" ohne Anführungszeichen schreibst.
Beispiel für Werteingabe Spalte E, vorausgesetzt, Markierung wird nach ENTER nach unten verschoben:
Sub BSchein()
Rem in Spalte E eine Zeile nach oben, dortigen Wert kopieren
Sheets("Tabelle1").ActiveCell.Offset(-1, 0).Copy
Rem in "C4" einfügen
Sheets("Tabelle2").Cells(4, 3).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End SubDas kopierst und änderst Du für die anderen Werte ab schreibst alles untereinander in das obige Modul, dessen Text immer mit End Sub aufhören muß.
Ausgangspunkt ist die Spalte E in Tab1.
mit ActiveCell.Offset(-1, 1).Copy kopierst Du den Wert aus der Spalte G, mit ActiveCell.Offset(-1, -1) aus Spalte D.
Im Zielbereich sieht´s ähnlich aus:
C4 = Cells(4, 3)
Bei Problemen nochmal melden.
MfG
schnallgonz
Fanatismus ist die Begeisterung der Beschränktheit.
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 18 von schnallgonz
Hi Holly,
noch´n Tip:
B2:E2 kopierst Du im Hieb mit
MfG
schnallgonz
Fanatismus ist die Begeisterung der Beschränktheit.
Signatur und Textformatierungen wurden mitSNTool V1.1.12 erstellt
noch´n Tip:
B2:E2 kopierst Du im Hieb mit
Sheets("Tabelle1").Range.(ActiveCell.Offset(-1, 0), ActiveCell.Offset(-1, -3)).CopyMfG
schnallgonz
Fanatismus ist die Begeisterung der Beschränktheit.
Signatur und Textformatierungen wurden mitSNTool V1.1.12 erstellt
Antwort 19 von Holly
Hi Schnallgonz,
habe den Code reinkopiert und ausprobiert, ich hätte ja fast gesagt das ist mehr als g........., Einfach genial.
Hab recht herzlichen Dank.
Woher weißt du das eígentlich alles, machst du das beruflich oder hast du dir alles selbst angeeignet?
Gruss Holly :-))))))
habe den Code reinkopiert und ausprobiert, ich hätte ja fast gesagt das ist mehr als g........., Einfach genial.
Hab recht herzlichen Dank.
Woher weißt du das eígentlich alles, machst du das beruflich oder hast du dir alles selbst angeeignet?
Gruss Holly :-))))))
Antwort 20 von schnallgonz
Moin Holly,
Danke für die Rückmeldung, freut mich, das es funzt und dass Du die Umsetzung alleine hinbekommen hast, find ich klasse.
Noch´n Tipp:
Wenn das nicht Deine letzte VBA-Anwendung sein sollte,
kommentiere Dein fertiges Makro ausführlich mit den
Rem-Zeilen oder Hochkomma anstatt Rem.
Dann weißt Du auch in 4 Wochen noch, wie der Code genau funzt.
Aus der Not heraus habe ich mich in VBA eingelesen:
es gab einfach zuviel stupide Arbeit mit Excelauswertungen,
da hatte ich keinen Bock drauf.
Also ein Buch geschnappt und angefangen, den Rest mit
learning by doing und natürlich mit diesem SuperForum,
mit dem man eigentlich alles hinbekommt, nicht nur VBA.
Neben den VBA-Künstlern gibt´s nämlich auch zahlreiche Formelkünstler.
MfG
schnallgonz
Ein Erfahrener ist besser als 10 Gelehrte.
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Danke für die Rückmeldung, freut mich, das es funzt und dass Du die Umsetzung alleine hinbekommen hast, find ich klasse.
Noch´n Tipp:
Wenn das nicht Deine letzte VBA-Anwendung sein sollte,
kommentiere Dein fertiges Makro ausführlich mit den
Rem-Zeilen oder Hochkomma anstatt Rem.
Dann weißt Du auch in 4 Wochen noch, wie der Code genau funzt.
Zitat:
Woher weißt du das eígentlich alles, machst du das beruflich oder hast du dir alles selbst angeeignet?
Woher weißt du das eígentlich alles, machst du das beruflich oder hast du dir alles selbst angeeignet?
Aus der Not heraus habe ich mich in VBA eingelesen:
es gab einfach zuviel stupide Arbeit mit Excelauswertungen,
da hatte ich keinen Bock drauf.
Also ein Buch geschnappt und angefangen, den Rest mit
learning by doing und natürlich mit diesem SuperForum,
mit dem man eigentlich alles hinbekommt, nicht nur VBA.
Neben den VBA-Künstlern gibt´s nämlich auch zahlreiche Formelkünstler.
MfG
schnallgonz
Ein Erfahrener ist besser als 10 Gelehrte.
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
Antwort 21 von Holly
Moin Schnallgonz,
das mit den Kommentaren werd ich machen. Hast du einen Buchtipp für Anfänger (für mich)?
Das mit den Formelkünstlern kann ich nur bestätigen, Klaus (want2cu) hat mir mal eine Formel erstellt, da wäre ich nie im Leben drauf gekommen.
Gruss Holly
das mit den Kommentaren werd ich machen. Hast du einen Buchtipp für Anfänger (für mich)?
Das mit den Formelkünstlern kann ich nur bestätigen, Klaus (want2cu) hat mir mal eine Formel erstellt, da wäre ich nie im Leben drauf gekommen.
Gruss Holly
Antwort 22 von Holly
Moin Schnallgonz,
das mit den Kommantaren werde ich machen.
Hast du einen Buchtipp für Anfänger (für mich)?
Das mit den Formelkünstlern stimmt, der Klaus (want2cu) hat mir mal eine Formel erstellt, da wäre ich im ganzen Leben nicht drauf gekommen.
Aber das Beste hier im Forum ist, das einem wirklich geholfen wird, nicht nur so ein kurzer Kommentar wie "Thema wurde schon behandelt", sondern man bekommt hier wirklich Unterstützung.
Gruss Holly
das mit den Kommantaren werde ich machen.
Hast du einen Buchtipp für Anfänger (für mich)?
Das mit den Formelkünstlern stimmt, der Klaus (want2cu) hat mir mal eine Formel erstellt, da wäre ich im ganzen Leben nicht drauf gekommen.
Aber das Beste hier im Forum ist, das einem wirklich geholfen wird, nicht nur so ein kurzer Kommentar wie "Thema wurde schon behandelt", sondern man bekommt hier wirklich Unterstützung.
Gruss Holly
Antwort 23 von schnallgonz
Hi Holly,
guck mal hier
dort findest Du viele Makros und ein Buchtipp von want2cu unter Antwort 27
MfG
schnallgonz
Ein Erfahrener ist besser als 10 Gelehrte.
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt
guck mal hier
dort findest Du viele Makros und ein Buchtipp von want2cu unter Antwort 27
MfG
schnallgonz
Ein Erfahrener ist besser als 10 Gelehrte.
Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt

