Supportnet / Forum / Tabellenkalkulation
makro in Excel Datei
Frage
ich bin auf der Suche nach einem Makro was folgendes können sollte:
In Tabelle 1 erfasse ich Auftragsdaten mit:
Kundenklassifizierung in Spalte D ( Nkb, Altkunde, SA )
Auftragsdatum Kunde in Spalte H
Umsatz Lieferant in Spalte Q
Ordernummer Lieferant in Saplte V
Auftragsdatum Lieferant in Spalte W
Antragsdatum Lieferanat in Spalte X
Installationsdatum Lieferant in SpalteY und
Vergütungsdatum Lieferant in Spalte Z
In Tabelle 2 möchte ich ein Sheet haben was sich selbst aktualisiert.
Die Inhalte dieses Sheets sind:
Für 1. Quartal:
In Zelle D9 installierter Umsatz
In Zelle E9 beantragter Umsatz (wenn Spalten V-X aus Tabelle 1 sind nicht leer)
In Zelle F9 vergüteter Umsatz
In Zelle G9 Backlog (also Saplten V-Z aus Tabelle 1 sind leer )
Für 2. Quartal:
In Zelle D10 installierter Umsatz
In Zelle E10 beantragter Umsatz (wenn Spalten V-X aus Tabelle 1 sind nicht leer)
In Zelle F10 vergüteter Umsatz
In Zelle G10 Backlog (also Saplten V-Z aus Tabelle 1 sind leer )
Für 3. und 4. Quartal analog die Zellen 11 + 12
Wäre echt super wenn Ihr mir helfen könnt.
Schon mal Danke im vorraus.
Gruß Junky
Antwort 1 von sicci
Hallo Junky,
1. Definiere bitte Deine Begriffe.
2. Drücke Deine Ergebniswünsche mathematisch aus. (Wie errechnen sich
die Ergebniswerte im ErgebnisSheet aus den Angaben im ersten?)
3. Wie/wann soll aktualisiert werden
- bei jeder Eingabe in sheet 1?
- zu einem Stichtag (Quartalsanfang oder -ende)?
- beim Öffnen oder Schließen der Mappe?
- beim aktivieren des Ergebnissheets?
- ..?
Gruß
sicci
1. Definiere bitte Deine Begriffe.
2. Drücke Deine Ergebniswünsche mathematisch aus. (Wie errechnen sich
die Ergebniswerte im ErgebnisSheet aus den Angaben im ersten?)
3. Wie/wann soll aktualisiert werden
- bei jeder Eingabe in sheet 1?
- zu einem Stichtag (Quartalsanfang oder -ende)?
- beim Öffnen oder Schließen der Mappe?
- beim aktivieren des Ergebnissheets?
- ..?
Gruß
sicci
Antwort 2 von michael oberley
hi junky und sicci
sicci laesst nicht locker glaub mir er moecht es immer ausfuehlicher fuer amatuere immer schwierig zu umschreiben (eigene erfahrung),AN SICCI ich bin schon dabei das macro neu zu schreiben ein bischen ordnung und uebersicht muss wohl her und deine vorschlaege bildschirmrefresh und select case geht ja super.
gruss an beide und einen schoenen tag noch
sicci laesst nicht locker glaub mir er moecht es immer ausfuehlicher fuer amatuere immer schwierig zu umschreiben (eigene erfahrung),AN SICCI ich bin schon dabei das macro neu zu schreiben ein bischen ordnung und uebersicht muss wohl her und deine vorschlaege bildschirmrefresh und select case geht ja super.
gruss an beide und einen schoenen tag noch
Antwort 3 von michael oberley
hi junky
wenn du eventuell vb fuer EXEL lernen moechtest ich hab einige makros schon angesammelt bei bedarf zum lernen bzw. auseinander pfluecken meld dich.
gruss nighty
wenn du eventuell vb fuer EXEL lernen moechtest ich hab einige makros schon angesammelt bei bedarf zum lernen bzw. auseinander pfluecken meld dich.
gruss nighty
Antwort 4 von greenline
Hallo nighty
ich hätte interesse, an dem Erlernen von vb für Excel.
Vielleicht könntest du mir diese makros einmal zusenden.
joerg@huber-tengen.de
vielen dank schon im voraus.
joerg
ich hätte interesse, an dem Erlernen von vb für Excel.
Vielleicht könntest du mir diese makros einmal zusenden.
joerg@huber-tengen.de
vielen dank schon im voraus.
joerg
Antwort 5 von Junky
Hallo Sicci, Hallo Oberley
ich hab euch eine Beispiel-Liste per Mail zugeschickt.
Sorry, daß ich mich so lang nicht gemeldet habe,
hatte nen kurzen Urlaub nötig.
Find ich echt super, daß ihr mir ein Makro macht.
Hab schon befürchtet, daß mir keiner Helfen kann.
Auf bald Junky
ich hab euch eine Beispiel-Liste per Mail zugeschickt.
Sorry, daß ich mich so lang nicht gemeldet habe,
hatte nen kurzen Urlaub nötig.
Find ich echt super, daß ihr mir ein Makro macht.
Hab schon befürchtet, daß mir keiner Helfen kann.
Auf bald Junky
Antwort 6 von sicci
Hallo Junky,
.. na Du bist ja ein lustiger Gesell.
Du hast nur das Sheet geschickt, ohne irgedwelche Erklärung, ohne eine einzige Antwort auf o.g. Fragen. Oder ist da vielleicht ein Anhang verlorn gegangen?
Gruß
sicci
.. na Du bist ja ein lustiger Gesell.
Du hast nur das Sheet geschickt, ohne irgedwelche Erklärung, ohne eine einzige Antwort auf o.g. Fragen. Oder ist da vielleicht ein Anhang verlorn gegangen?
Gruß
sicci
Antwort 7 von junky
Hallo sicci,
Du lässt ja nicht locker, nein Du hast recht!
Also:
zu 1.: Welche Begriffte soll ich devinieren?
zu 2.: im ErgebnisSheet sollen die Umsätze Quartalsweise addiert/kumoliert
( nach Alt / Nkb / SA Kunden ) werden
zu 3.: ja, bei jeder Eingabe soll sich das Sheet aktualisieren
zur Info: Momentan hab ich ein Drittes Sheet, geordnet nach bestellter Umsatz, installierter Umsatz und vergüteter Umsatz.
Nur ist dieses Sheet zum Jahresende 32 Splaten breit und
500 Zeilen lang. In jeder Zelle ist eine ellenlange Wenn-Und-Dann-Formel. Das sind dann mal schlappe 16.000
Formeln, die das Excel ganz schön langsam machen.
Ich hoffe, Dir damit geholfen zu haben.
Gruß junky
Du lässt ja nicht locker, nein Du hast recht!
Also:
zu 1.: Welche Begriffte soll ich devinieren?
zu 2.: im ErgebnisSheet sollen die Umsätze Quartalsweise addiert/kumoliert
( nach Alt / Nkb / SA Kunden ) werden
zu 3.: ja, bei jeder Eingabe soll sich das Sheet aktualisieren
zur Info: Momentan hab ich ein Drittes Sheet, geordnet nach bestellter Umsatz, installierter Umsatz und vergüteter Umsatz.
Nur ist dieses Sheet zum Jahresende 32 Splaten breit und
500 Zeilen lang. In jeder Zelle ist eine ellenlange Wenn-Und-Dann-Formel. Das sind dann mal schlappe 16.000
Formeln, die das Excel ganz schön langsam machen.
Ich hoffe, Dir damit geholfen zu haben.
Gruß junky
Antwort 8 von sicci
Hallo Junky
zu 1:
"installierter Umsatz, beantragter Umsatz, vergüteter Umsatz, jetzt auch noch bestellter Umsatz - wie hängt das zusammen mit:
< Auftragsdatum Kunde in Spalte H
Umsatz Lieferant in Spalte Q
Ordernummer Lieferant in Saplte V
Auftragsdatum Lieferant in Spalte W
Antragsdatum Lieferanat in Spalte X
Installationsdatum Lieferant in SpalteY und
Vergütungsdatum Lieferant in Spalte Z >
Wie soll man sich das vorstellen?
Du erhälst einen Auftrag von einem Kunden - dann suchst Du nach einem Lieferant? - beantragst bei ihm ein Angebot? - installierst ihn (was heißt das?) - erteilst ihm einen Auftrag, vergütest ihn, machst mit ihm einen Umsatz (Kundenvergütung an Dich minus Vergütung Lieferant? Angabe Zahlung/Kunde fehlt!), was ist mit Deinen Gemeinkosten, wo sind die? was für eine Geschäftssparte ist das denn? - vielleicht erklärt das ja auch einiges.
für mich alles ungeklärte Fragen ..
Gruß
sicci
zu 1:
"installierter Umsatz, beantragter Umsatz, vergüteter Umsatz, jetzt auch noch bestellter Umsatz - wie hängt das zusammen mit:
< Auftragsdatum Kunde in Spalte H
Umsatz Lieferant in Spalte Q
Ordernummer Lieferant in Saplte V
Auftragsdatum Lieferant in Spalte W
Antragsdatum Lieferanat in Spalte X
Installationsdatum Lieferant in SpalteY und
Vergütungsdatum Lieferant in Spalte Z >
Wie soll man sich das vorstellen?
Du erhälst einen Auftrag von einem Kunden - dann suchst Du nach einem Lieferant? - beantragst bei ihm ein Angebot? - installierst ihn (was heißt das?) - erteilst ihm einen Auftrag, vergütest ihn, machst mit ihm einen Umsatz (Kundenvergütung an Dich minus Vergütung Lieferant? Angabe Zahlung/Kunde fehlt!), was ist mit Deinen Gemeinkosten, wo sind die? was für eine Geschäftssparte ist das denn? - vielleicht erklärt das ja auch einiges.
für mich alles ungeklärte Fragen ..
Gruß
sicci
Antwort 9 von junky
hi sicci,
also dieses Geschäft ist ein reines Agenten oder auch Vermittlungsgeschäft. Ich berechne an den Kunden oder an den Lieferanten gar nichts. Prinzipiell mußt Du Dir das so vorstellten: Ich sag zum Lieferanten "Kunde XY will Produkt Z haben", darauf hin bekomme ich eine Ordernummer (Spalte V), ein Auftragsdatum (Spalte W) und einen fiktiven Umsatz gutgeschrieben (Spalte Q ). Auf diesen Umsatz bekomme ich auch die Vergütung. Diese Vergütung bekomme ich aber nur, wenn im Vorfeld ein Antrag (Spalte X)über das jeweilige Produkt in schriftlicher Form beim Lieferanten eingegangen ist. Wenn das Produkt mit einem Installationsdatum (im jeweiligen System des Lieferanten) (Spalte Y) versehen ist, habe ich erst einen Anspruch auf die Vergütung (Spalte Z). Und diesen fiktiven Umsatz bilde ich in meiner Liste ab und kann somit den Lieferanten überprüfen.
Auch beim Neukundenbonus ist das Datum der Installation (Spalte Y) relevant, denn den NkB kann ich nur in Verbindung mit einer Installation beantragen.
Hilft Dir das weiter ????
Gruß Junky
also dieses Geschäft ist ein reines Agenten oder auch Vermittlungsgeschäft. Ich berechne an den Kunden oder an den Lieferanten gar nichts. Prinzipiell mußt Du Dir das so vorstellten: Ich sag zum Lieferanten "Kunde XY will Produkt Z haben", darauf hin bekomme ich eine Ordernummer (Spalte V), ein Auftragsdatum (Spalte W) und einen fiktiven Umsatz gutgeschrieben (Spalte Q ). Auf diesen Umsatz bekomme ich auch die Vergütung. Diese Vergütung bekomme ich aber nur, wenn im Vorfeld ein Antrag (Spalte X)über das jeweilige Produkt in schriftlicher Form beim Lieferanten eingegangen ist. Wenn das Produkt mit einem Installationsdatum (im jeweiligen System des Lieferanten) (Spalte Y) versehen ist, habe ich erst einen Anspruch auf die Vergütung (Spalte Z). Und diesen fiktiven Umsatz bilde ich in meiner Liste ab und kann somit den Lieferanten überprüfen.
Auch beim Neukundenbonus ist das Datum der Installation (Spalte Y) relevant, denn den NkB kann ich nur in Verbindung mit einer Installation beantragen.
Hilft Dir das weiter ????
Gruß Junky
Antwort 10 von sicci
Hallo Junky,
ja, da kann man sich jetzt eher was vorstellen. Werd aber erst am Wochenende dazu kommen - melde mich, wenn´s weitere Fragen gibt.
Eine Kleinigkeit noch vorab: warum führst Du für ein Jahr im Ergebnisssheet je zweimal die Ergebnisfelder auf?
Was soll der Unterschied zwischen erstem und zweitem Ergebnisblock (SME u. selected) sein?
bis dann
sicci
ja, da kann man sich jetzt eher was vorstellen. Werd aber erst am Wochenende dazu kommen - melde mich, wenn´s weitere Fragen gibt.
Eine Kleinigkeit noch vorab: warum führst Du für ein Jahr im Ergebnisssheet je zweimal die Ergebnisfelder auf?
Was soll der Unterschied zwischen erstem und zweitem Ergebnisblock (SME u. selected) sein?
bis dann
sicci
Antwort 11 von junky
Hi Sicci,
der einzige Unterschied zwischen SME und Selected ist, daß der Selected Umsatz nicht zur Vergütung zählt. Ich möchte aber trotzdem wissen, welchen Umsatz ich bei den SAs habe und nur deswegen führe ich den Umsatz zweimal auf .
Als dann, schönes WE schon im vorraus.
Bis dann Junky
der einzige Unterschied zwischen SME und Selected ist, daß der Selected Umsatz nicht zur Vergütung zählt. Ich möchte aber trotzdem wissen, welchen Umsatz ich bei den SAs habe und nur deswegen führe ich den Umsatz zweimal auf .
Als dann, schönes WE schon im vorraus.
Bis dann Junky
Antwort 12 von sicci
Schön, Junky
ABER:
Woher soll denn das Makro wissen, wann ein Umsatz in SME und wann in SA gehört ?????????????????????????
Bitte präzisiere die Bedingung!!!!!!! sprich: wann führt Umsatz zu Vergütung und muß in SME eingetragen werden, wann in SA. Wo findet das Makro das Unterscheidungskriterium in der Eingabetabelle?
Gruß
sicci
ABER:
Woher soll denn das Makro wissen, wann ein Umsatz in SME und wann in SA gehört ?????????????????????????
Bitte präzisiere die Bedingung!!!!!!! sprich: wann führt Umsatz zu Vergütung und muß in SME eingetragen werden, wann in SA. Wo findet das Makro das Unterscheidungskriterium in der Eingabetabelle?
Gruß
sicci
Antwort 13 von junky
Guten abend,
also das makro sollte es eigentlich anhand der kundenklassifizierung in der Spalte D (siehe auch meine Anfrage)feststellen könnnen, wann es ein SME oder ein SA Umsatz ist.
Zur Vergütung kommt es, wenn der Umsatz installiert ist, vorher nicht!
Hilft Dir das weiter ????
Gruß Junky :-)
also das makro sollte es eigentlich anhand der kundenklassifizierung in der Spalte D (siehe auch meine Anfrage)feststellen könnnen, wann es ein SME oder ein SA Umsatz ist.
Zur Vergütung kommt es, wenn der Umsatz installiert ist, vorher nicht!
Hilft Dir das weiter ????
Gruß Junky :-)
Antwort 14 von sicci
Nein, Junky -
langsam glaub ich, ich sprech chinesisch ;-))
UMSATZ WELCHER KUNDENART IN SPALTE D SOLL BEI SME, WELCHER BEI SA EINGETRAGEN WERDEN ?????
Das präzisierst Du auch in Deiner Eingangsanfrage nicht, dort gab´s ja Spalten H bis L noch nicht !!!!!!
Also nochmal:
wann (bei welcher Kundenart) führt Umsatz zu Vergütung und muß in SME eingetragen werden, wann in SA.)?????
Gruß
sicci
langsam glaub ich, ich sprech chinesisch ;-))
UMSATZ WELCHER KUNDENART IN SPALTE D SOLL BEI SME, WELCHER BEI SA EINGETRAGEN WERDEN ?????
Das präzisierst Du auch in Deiner Eingangsanfrage nicht, dort gab´s ja Spalten H bis L noch nicht !!!!!!
Also nochmal:
wann (bei welcher Kundenart) führt Umsatz zu Vergütung und muß in SME eingetragen werden, wann in SA.)?????
Gruß
sicci
Antwort 15 von Junky
Hi sicci,
also die Spalten H-L sind für das Ergebnis (Makro) völlig uninteressant.
Ehrlich gesagt versteh ich nicht, welches Problem Du mit dem Umsatz hast?
Bringen Dich meine Formeln in der Ziele-Formel-Tabelle auch nicht weiter?
Auf jeden Fall müssen die Umsätze "NkB + Altkunde" in SME und nur wenn der
Kunde in Spalte D ein "SA" stehen hat, kommt das in den SA Umsatz.
Also alles Ungleich "SA" in Spalte D kommt in "SME-Umsatz" und nur wenn
"SA" in Spalte D steht kommt er in den "SA-Umsatz"
Ich hoffe, daß das Deine Fragen beantwortet! :-))
Gruß Junky
also die Spalten H-L sind für das Ergebnis (Makro) völlig uninteressant.
Ehrlich gesagt versteh ich nicht, welches Problem Du mit dem Umsatz hast?
Bringen Dich meine Formeln in der Ziele-Formel-Tabelle auch nicht weiter?
Auf jeden Fall müssen die Umsätze "NkB + Altkunde" in SME und nur wenn der
Kunde in Spalte D ein "SA" stehen hat, kommt das in den SA Umsatz.
Also alles Ungleich "SA" in Spalte D kommt in "SME-Umsatz" und nur wenn
"SA" in Spalte D steht kommt er in den "SA-Umsatz"
Ich hoffe, daß das Deine Fragen beantwortet! :-))
Gruß Junky
Antwort 16 von sicci
...
ja, siehst Du Junky, woher sollte ich (oder das Makro) wissen, daß In SA eingetragen wird wenn KundenArt "SA" ist ?? - In Deiner Beispieltabelle gibt es leider keinen einzigen Kunden "SA". Nur NKB, Altkunde und L+F sind aufgeführt und hellsehen kann ich leider noch nicht ;-)
Die Formeln in Deiner Ergebnistabelle? Sind leider nicht vorhanden! - In der, die Du mir geschickt hast gibt es nur EINE EINZIGE FORMEL MIT BEDINUNG und diese heißt nicht: <>"SA", sonder <0, bezieht sich auch nicht auf Spalte D :
=WENN($T4<0;$Q2/100*$T4;$Q4/100*$T4).
Abgesehen von ein paar wenigen einfachen Berechnungen ohne jede Bedingung enthalten ALLE andern Ergebnisfelder "0" oder gar nichts (sind leer), auch keine Formel !!!
.. werd also am Wochenende mal schaun - melde mich dann.
Gruß
sicci
ja, siehst Du Junky, woher sollte ich (oder das Makro) wissen, daß In SA eingetragen wird wenn KundenArt "SA" ist ?? - In Deiner Beispieltabelle gibt es leider keinen einzigen Kunden "SA". Nur NKB, Altkunde und L+F sind aufgeführt und hellsehen kann ich leider noch nicht ;-)
Die Formeln in Deiner Ergebnistabelle? Sind leider nicht vorhanden! - In der, die Du mir geschickt hast gibt es nur EINE EINZIGE FORMEL MIT BEDINUNG und diese heißt nicht: <>"SA", sonder <0, bezieht sich auch nicht auf Spalte D :
=WENN($T4<0;$Q2/100*$T4;$Q4/100*$T4).
Abgesehen von ein paar wenigen einfachen Berechnungen ohne jede Bedingung enthalten ALLE andern Ergebnisfelder "0" oder gar nichts (sind leer), auch keine Formel !!!
.. werd also am Wochenende mal schaun - melde mich dann.
Gruß
sicci
Antwort 17 von junky
aaaahhhhaa,
da liegt also der Hund begraben, dachte mir schon, daß das gar nicht sein kann,
mit der Formelliste im Anhang.
Aber wenn da nur eine Formel drin ist, leuchtet mir das völliig ein!!!!!!!!!
Sorry, für das lange hin und her.
Schönes Wochenende!
Gruß Junky :-)))
da liegt also der Hund begraben, dachte mir schon, daß das gar nicht sein kann,
mit der Formelliste im Anhang.
Aber wenn da nur eine Formel drin ist, leuchtet mir das völliig ein!!!!!!!!!
Sorry, für das lange hin und her.
Schönes Wochenende!
Gruß Junky :-)))
Antwort 18 von sicci
Hallo Junky,
Deine Tabelle inklusive Formeln ist bis heute nicht bei mir angekommen. Auch mail an Dich kam via mailer-daemon zurück ... ???
Vielleicht kannst Du ja anhand des Beispiels "installierter Umsatz" (s.u.) die weiteren Makros entsprechend schreiben.
Schlage vor, nicht bei jeder Eingabe, sondern beim Aktivieren des Ergebnissheets (erstes Blatt der Mappe) zu aktualisieren, um Berechnungszeit zu sparen (Makro berechnet immer alle Werte neu!).
Folgendes Makro also in das (Klassenmodul) des Ergebnisblattes, Variablen für die anderen Felder sind schon angelegt (siehe Kommentare)
Option Explicit
Private Sub Worksheet_Activate()
Dim x%, Jahr As String
Dim SI As Double, SB As Double, SV As Double, SBl As Double
′x = Zeilenzähler, Jahr = Jahr/Catia-Umsätze
′SI = Summe installierter Umsatz, SB = Summe beantragter Umsatz,
′SV = Summe vergüteter Umsatz, SBl = Summe Blockquote
′Jahr = das in Ergebnistabelle, Zelle C9 eingetragene
Jahr = Right(ActiveWorkbook.Sheets(1).Cells(3, 3), 4)
′ 1. Quartal
SI = 0
′Schleife über Tabelle1, Zeile4 bis lezte Zeile,
′in der ein Soll-Umsatz angegeben ist:
For x = 4 To ActiveWorkbook.Sheets(2).Cells(Rows.Count, 16).End(xlUp).Row
If CStr(year(Cells(x, 25))) = _
Right(ActiveWorkbook.Sheets(1).Cells(3, 3), 4) _
And Month(Cells(x, 25)) < 4 Then
If Cells(x, 4) <> "SA" Then
SI = SI + Cells(x, 16).Value
End If
End If
Next
ActiveWorkbook.Sheets(1).Cells(9, 3) = SI
′ 2. Quartal
SI = 0
′Schleife über Tabelle1, Zeile4 bis lezte Zeile,
′in der ein Soll-Umsatz angegeben ist:
For x = 4 To ActiveWorkbook.Sheets(2).Cells(Rows.Count, 16).End(xlUp).Row
If CStr(year(Cells(x, 25))) = _
Right(ActiveWorkbook.Sheets(1).Cells(3, 3), 4) _
And (Month(Cells(x, 25)) > 3 Or Month(Cells(x, 25)) < 7) Then
If Cells(x, 4) <> "SA" Then
SI = SI + Cells(x, 16).Value
End If
End If
Next
ActiveWorkbook.Sheets(1).Cells(10, 3) = SI
′ 3. Quartal
SI = 0
′Schleife über Tabelle1, Zeile4 bis lezte Zeile,
′in der ein Soll-Umsatz angegeben ist:
For x = 4 To ActiveWorkbook.Sheets(2).Cells(Rows.Count, 16).End(xlUp).Row
If CStr(year(Cells(x, 25))) = _
Right(ActiveWorkbook.Sheets(1).Cells(3, 3), 4) _
And (Month(Cells(x, 25)) > 6 Or Month(Cells(x, 25)) < 10) Then
If Cells(x, 4) <> "SA" Then
SI = SI + Cells(x, 16).Value
End If
End If
Next
ActiveWorkbook.Sheets(1).Cells(11, 3) = SI
′4. Quartal
SI = 0
′Schleife über Tabelle1, Zeile4 bis lezte Zeile,
′in der ein Soll-Umsatz angegeben ist:
For x = 4 To ActiveWorkbook.Sheets(2).Cells(Rows.Count, 16).End(xlUp).Row
If CStr(year(Cells(x, 25))) = _
Right(ActiveWorkbook.Sheets(1).Cells(3, 3), 4) _
And (Month(Cells(x, 25)) > 9 Or Month(Cells(x, 25)) < 13) Then
If Cells(x, 4) <> "SA" Then
SI = SI + Cells(x, 16).Value
End If
End If
Next
ActiveWorkbook.Sheets(1).Cells(12, 3) = SI
End Sub
Gruß
sicci
Deine Tabelle inklusive Formeln ist bis heute nicht bei mir angekommen. Auch mail an Dich kam via mailer-daemon zurück ... ???
Vielleicht kannst Du ja anhand des Beispiels "installierter Umsatz" (s.u.) die weiteren Makros entsprechend schreiben.
Schlage vor, nicht bei jeder Eingabe, sondern beim Aktivieren des Ergebnissheets (erstes Blatt der Mappe) zu aktualisieren, um Berechnungszeit zu sparen (Makro berechnet immer alle Werte neu!).
Folgendes Makro also in das (Klassenmodul) des Ergebnisblattes, Variablen für die anderen Felder sind schon angelegt (siehe Kommentare)
Option Explicit
Private Sub Worksheet_Activate()
Dim x%, Jahr As String
Dim SI As Double, SB As Double, SV As Double, SBl As Double
′x = Zeilenzähler, Jahr = Jahr/Catia-Umsätze
′SI = Summe installierter Umsatz, SB = Summe beantragter Umsatz,
′SV = Summe vergüteter Umsatz, SBl = Summe Blockquote
′Jahr = das in Ergebnistabelle, Zelle C9 eingetragene
Jahr = Right(ActiveWorkbook.Sheets(1).Cells(3, 3), 4)
′ 1. Quartal
SI = 0
′Schleife über Tabelle1, Zeile4 bis lezte Zeile,
′in der ein Soll-Umsatz angegeben ist:
For x = 4 To ActiveWorkbook.Sheets(2).Cells(Rows.Count, 16).End(xlUp).Row
If CStr(year(Cells(x, 25))) = _
Right(ActiveWorkbook.Sheets(1).Cells(3, 3), 4) _
And Month(Cells(x, 25)) < 4 Then
If Cells(x, 4) <> "SA" Then
SI = SI + Cells(x, 16).Value
End If
End If
Next
ActiveWorkbook.Sheets(1).Cells(9, 3) = SI
′ 2. Quartal
SI = 0
′Schleife über Tabelle1, Zeile4 bis lezte Zeile,
′in der ein Soll-Umsatz angegeben ist:
For x = 4 To ActiveWorkbook.Sheets(2).Cells(Rows.Count, 16).End(xlUp).Row
If CStr(year(Cells(x, 25))) = _
Right(ActiveWorkbook.Sheets(1).Cells(3, 3), 4) _
And (Month(Cells(x, 25)) > 3 Or Month(Cells(x, 25)) < 7) Then
If Cells(x, 4) <> "SA" Then
SI = SI + Cells(x, 16).Value
End If
End If
Next
ActiveWorkbook.Sheets(1).Cells(10, 3) = SI
′ 3. Quartal
SI = 0
′Schleife über Tabelle1, Zeile4 bis lezte Zeile,
′in der ein Soll-Umsatz angegeben ist:
For x = 4 To ActiveWorkbook.Sheets(2).Cells(Rows.Count, 16).End(xlUp).Row
If CStr(year(Cells(x, 25))) = _
Right(ActiveWorkbook.Sheets(1).Cells(3, 3), 4) _
And (Month(Cells(x, 25)) > 6 Or Month(Cells(x, 25)) < 10) Then
If Cells(x, 4) <> "SA" Then
SI = SI + Cells(x, 16).Value
End If
End If
Next
ActiveWorkbook.Sheets(1).Cells(11, 3) = SI
′4. Quartal
SI = 0
′Schleife über Tabelle1, Zeile4 bis lezte Zeile,
′in der ein Soll-Umsatz angegeben ist:
For x = 4 To ActiveWorkbook.Sheets(2).Cells(Rows.Count, 16).End(xlUp).Row
If CStr(year(Cells(x, 25))) = _
Right(ActiveWorkbook.Sheets(1).Cells(3, 3), 4) _
And (Month(Cells(x, 25)) > 9 Or Month(Cells(x, 25)) < 13) Then
If Cells(x, 4) <> "SA" Then
SI = SI + Cells(x, 16).Value
End If
End If
Next
ActiveWorkbook.Sheets(1).Cells(12, 3) = SI
End Sub
Gruß
sicci
Antwort 19 von junky
Hallo sicci,
Klasse, nur hab ich nun kleines Problem.
Beim "Zeilenzähler" bingt er mir eine Fehlermeldung:
"Fehler beim Kompilieren: Variable nicht definiert"
Was muß ich Ihm da sagen, damit er nicht wieder zu diesem Fehler Kommt???
Gruß Junky
Klasse, nur hab ich nun kleines Problem.
Beim "Zeilenzähler" bingt er mir eine Fehlermeldung:
"Fehler beim Kompilieren: Variable nicht definiert"
Was muß ich Ihm da sagen, damit er nicht wieder zu diesem Fehler Kommt???
Gruß Junky
Antwort 20 von junky
Hallo sicci,
Weiter ist mir noch aufgefallen, daß beim Kopieren des Makros in meine Datei er automatisch Deine Kommas in Semicolons umwandelt; aber nicht bei allen ???? Da stimmt doch was nicht??
Liegt es evtl. daran, daß nicht alle erforderlichen Dateien bei der Installation mitgenommen wurden?
junky
Weiter ist mir noch aufgefallen, daß beim Kopieren des Makros in meine Datei er automatisch Deine Kommas in Semicolons umwandelt; aber nicht bei allen ???? Da stimmt doch was nicht??
Liegt es evtl. daran, daß nicht alle erforderlichen Dateien bei der Installation mitgenommen wurden?
junky
Antwort 21 von E-doc
Hallo sicci,
Bei mir wird der Text plötzlich so umgewandelt. Ich glaube man muß auch die Leerzeichen beachten:
>>>>> Xd e A g he bd AVgc e AQIF<<<<<
Hast Du ein Erklärung dafür?
Gruß E-doc
Bei mir wird der Text plötzlich so umgewandelt. Ich glaube man muß auch die Leerzeichen beachten:
>>>>> Xd e A g he bd AVgc e AQIF<<<<<
Hast Du ein Erklärung dafür?
Gruß E-doc
Antwort 22 von sicci
Hallo Junky,
1. Was mit ′ anfängt, sind erklärende Kommentarzeilen. Durch das Hochkomma am Anfang erscheinen sie im VBA-Fenster grün. Damit VBA nicht versucht, sie abzuarbeiten, müssen sie mit Hochkomma beginnen, also: das Hochkomma drinlassen!
2. Das ist merkwürdig !! Passiert bei mir nicht. Keine Ahnung (gibt′s Kopiereinstellungen - vieleicht im Windows?????). Kenne Umwandlungen nur im MSWord durch die Autokorrektur. Dann bleibt Dir nur, es abzuschreiben, oder mir eine gültige email-ad zu nennen.
Hallo E-doc,
nö, verstehe ehrlich kein Wort!!
Welcher Text wird von wem oder was umgewandelt ????
Gruß
sicci
1. Was mit ′ anfängt, sind erklärende Kommentarzeilen. Durch das Hochkomma am Anfang erscheinen sie im VBA-Fenster grün. Damit VBA nicht versucht, sie abzuarbeiten, müssen sie mit Hochkomma beginnen, also: das Hochkomma drinlassen!
2. Das ist merkwürdig !! Passiert bei mir nicht. Keine Ahnung (gibt′s Kopiereinstellungen - vieleicht im Windows?????). Kenne Umwandlungen nur im MSWord durch die Autokorrektur. Dann bleibt Dir nur, es abzuschreiben, oder mir eine gültige email-ad zu nennen.
Hallo E-doc,
nö, verstehe ehrlich kein Wort!!
Welcher Text wird von wem oder was umgewandelt ????
Gruß
sicci
Antwort 23 von E-doc
Hallo sicci,
Ich weiß nicht hat Excel auch einen CodeWandler ?
gruß E-doc
Ich weiß nicht hat Excel auch einen CodeWandler ?
gruß E-doc
Antwort 24 von Junky
Hallo Sicci,
hab Dich gerade über aol angemailt.
Gruß Junky
hab Dich gerade über aol angemailt.
Gruß Junky
Antwort 25 von sicci
Hallo Junky,
schicke Dir die Beispieldatei am Montag (habe sie im Büro gespeichert).
Hallo E-doc,
ja, grundsätzlich kann man auch mit Excel Texte verändern. Dazu müssen vornweg aber Einstellungen getätigt werden, für ausgefeilte Wandlungen kommt meist VBA zum Einsatz. Schicke Dir ein kleines Beispiel (.. muß es erklärend umschreiben, wird morgen werden)
Gruß
sicci
schicke Dir die Beispieldatei am Montag (habe sie im Büro gespeichert).
Hallo E-doc,
ja, grundsätzlich kann man auch mit Excel Texte verändern. Dazu müssen vornweg aber Einstellungen getätigt werden, für ausgefeilte Wandlungen kommt meist VBA zum Einsatz. Schicke Dir ein kleines Beispiel (.. muß es erklärend umschreiben, wird morgen werden)
Gruß
sicci
Antwort 26 von alleNeune
hallo Sicci,
Bis Excel 6 können Macro in Deutscher Schreibweise verarbeitet werden. Ab Excel 8 können nur noch - englische- Macros verarbeitet werden. In Excel 8 werden --deutsche-- Macros automatisch umgesetzt und zur Überprüfung vorgegeben im Editor. In der --deutschen-- Macroschreibweise ist das Komma der Strichpunkt das Trennzeichen. Englische Macros laufen auch bei Excel 6. Der Editor versucht jedoch alle Schlüsselwörter und auch die Kommas auf in -deutsch- ; umzusetzen, wenn deutsche Macros offen sind. Sollten alle auf englisch umgeschrieben werden.
gruß alleNeune
Bis Excel 6 können Macro in Deutscher Schreibweise verarbeitet werden. Ab Excel 8 können nur noch - englische- Macros verarbeitet werden. In Excel 8 werden --deutsche-- Macros automatisch umgesetzt und zur Überprüfung vorgegeben im Editor. In der --deutschen-- Macroschreibweise ist das Komma der Strichpunkt das Trennzeichen. Englische Macros laufen auch bei Excel 6. Der Editor versucht jedoch alle Schlüsselwörter und auch die Kommas auf in -deutsch- ; umzusetzen, wenn deutsche Macros offen sind. Sollten alle auf englisch umgeschrieben werden.
gruß alleNeune
Antwort 27 von sicci
Hallo alleNeune,
Vielen Dank für den Tip!
Schön, von Dir zu hören :-)
Gruß
sicci
Vielen Dank für den Tip!
Schön, von Dir zu hören :-)
Gruß
sicci
Antwort 28 von junky1
Hi sicci,
ich hab jetzt mal über mein office drüber gebügelt und siehe da,
nun kann er auf einmal Dein Makro richtig lesen.
Nur so ganz funzts noch nicht.
Köntest Du mir die Liste mal zumailen, dann kann ich bei Dir mal schaun
was Du anders machst als ich. Wär super.
Danke und Gruß Junky.
ich hab jetzt mal über mein office drüber gebügelt und siehe da,
nun kann er auf einmal Dein Makro richtig lesen.
Nur so ganz funzts noch nicht.
Köntest Du mir die Liste mal zumailen, dann kann ich bei Dir mal schaun
was Du anders machst als ich. Wär super.
Danke und Gruß Junky.
Antwort 29 von sicci
Hallo Junky,
durch den überstürzten "Umzug" auf einen neuen PC kam mir einiges durcheinander. Habe u.a. auch etliche mails verloren :-(, darunter auch Deine.
Du müßtest mir Deine Adresse nochmal mailen ..
probiere es derweil schon nochmal über die o.a.
Gruß
sicci
durch den überstürzten "Umzug" auf einen neuen PC kam mir einiges durcheinander. Habe u.a. auch etliche mails verloren :-(, darunter auch Deine.
Du müßtest mir Deine Adresse nochmal mailen ..
probiere es derweil schon nochmal über die o.a.
Gruß
sicci