Thema Datum  Von Nutzer Rating
Antwort
Rot Vorhersage Auftragseingang
21.07.2017 08:31:06 HerrWeimann
NotSolved
21.07.2017 10:43:41 Gast47577
NotSolved
21.07.2017 13:54:35 Gast34505
NotSolved
26.07.2017 10:43:05 Gast95836
NotSolved

Ansicht des Beitrags:
Von:
HerrWeimann
Datum:
21.07.2017 08:31:06
Views:
1152
Rating: Antwort:
  Ja
Thema:
Vorhersage Auftragseingang

Hallo,

als Vertriebsmitarbeiter muss ich regelmässig eine Vorhersage abgeben, was wohl bis Jahresende noch alles an Aufträgen rein kommt. Diese Vorhersage würde ich gerne mehr oder weniger automatisiert per VBA erstellen können.

VBA soll dazu einige Spalten per AutoFilter filtern, dann eine Produktspalte finden, die dort eingetragenen Summen (das Teilergebnis) per Summenprodukt mit einer Wahrscheinlichkeit multiplizieren und das Ergebnis dieser Rechnung in eine Zelle schreiben. Das Ganze natürlich für diverse Produkte und in jedem Quartal neu.

Obwohl ich nicht wirklich Ahnung habe, funktioniert mein Code bereits bis zur Berechnung eines Teilergebnisses:

Sub Vorhersage gewichtet

' Q1

'Produkt 1

Dim Datum1 As Date, Datum2 As Date

Datum1 = "31.12.2016"
Datum2 = "01.04.2017"
                            
ThisWorkbook.Worksheets("Tabelle1").Activate
ActiveSheet.UsedRange.AutoFilter
   ActiveSheet.UsedRange.AutoFilter Field:=3, Criteria1:=Array("Branche1", "Branche2", "Branche3"), _
   Operator:=xlFilterValues
    ActiveSheet.UsedRange.AutoFilter Field:=4, Criteria1:=Array("Peter", "Tim", "Thomas"), _
    Operator:=xlFilterValues
    ActiveSheet.UsedRange.AutoFilter Field:=5, Criteria1:=">" & CDbl(Datum1), Operator:=xlAnd, Criteria2:="<" & CDbl(Datum2)
    ActiveSheet.UsedRange.AutoFilter Field:=7, Criteria1:=Array("Direct Sales"), _
    Operator:=xlFilterValues
    ActiveSheet.UsedRange.AutoFilter Field:=8, Criteria1:=Array("Bestandskunden"), _
    Operator:=xlFilterValues
    ActiveSheet.UsedRange.AutoFilter Field:=10, Criteria1:=Array("1", "5", "10", "15", "20", "25", "30", "35", "40", "45", "50", "55", "60", "65", "70", "75", "80", "85", "90")
   
Set finden = Range("A20:BQ20").Find(what:="Produkt1")
Cells(finden.Row, finden.Column).Activate

Range("E3").Select
ActiveCell.FormulaLocal = _
"=SUMMENPRODUKT(TEILERGEBNIS(9;INDIREKT(""L""&ZEILE($21:$500)))*($J$21:$J$500/100))"

End Sub

Problem: Es wird zwar korrekt gerechnet, ich schreibe in E3 aber letztlich nur die Formel, nicht das tatsächliche Ergebnis. Sobald ich die Filter wieder entferne, rechnet die Formel natürlich auch wieder was ganz anderes aus....die Zahlen in Field:=10 stehen übrigens für Wahrscheinlichkeiten.

Vermutlich kein großes Problem für jemanden, der sich auskennt!?:-)


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Vorhersage Auftragseingang
21.07.2017 08:31:06 HerrWeimann
NotSolved
21.07.2017 10:43:41 Gast47577
NotSolved
21.07.2017 13:54:35 Gast34505
NotSolved
26.07.2017 10:43:05 Gast95836
NotSolved