Hallo,
ich habe ein Problem beim Programmieren von Markos. Leider bin ich blutiger Änfänger.
Meine Fragestellung:
Die EU hat ja Unternehmen nach Größenkriterien eingeteilt:
Betriebsgröße Beschäftigte Bil.sum Umsatz
Kleinstbetriebe
Wieso Makro und nicht Formel?
Du müsstest überhaupt was zu der Formulierung
Betriebsgröße Beschäftigte Bil.sum Umsatz
Kleinstbetriebe
und zum Aufbau Deiner Tabelle sagen
So wie es im Makro steht ist das grober Unfug :wink: ...
Hallo Danke erstmal für die Antwort. Ok an Formel hab ich auch schon drangedacht.
Die Basis Daten habe ich in Excel wie folgt aufgelistet
Beschäftigte Bilanzsumme Umsatz
Kleinstbetriebe
Ach, ich glaub so langsam komm ich dahinter…
Wenn Makro, dann aber doch wohl eine Userdefined Function?
Zur Formel (weil Tabellen schwierig darzustellen sind)
G1:G6 = Wert,1,10,100,1000,10000
H1:H6 = Bs,0,10,50,250,999999
I1:I6 = Bi,0,2,10,43,999999
J1:J6 = Us,0,2,10,50,999999
L1:L6 = Score,0,21,201,2001,9999
M1:M6 = Klasse,Kleinstbetrieb,Kleinbetrieb,Mittelbetrieb,Großbetrieb
B2:smiley:2 = 9, 1, 0.5
E2=VERWEIS(B2;$H$2:blush:H$6;$G$2:blush:G$6)+VERWEIS(C2;$I$2:blush:I$6;$G$2:blush:G$6)+VERWEIS(D2;$J$2:blush:J$6;$G$2:blush:G$6)
F2==VERWEIS(E2;$L$2:blush:L$5;$M$2:blush:M$5)
Das Konzept liese sich latürnich auch in eine Makrofunktion umschreiben…
Hallo Ach du meine Güte muss man das so lösen.
hab das alles mal so in Excel eingegeben. Verstehs aber leider nicht in welcher Zelle das ERgebenis ausgegeben werden soll??
Trotzdem dank
Müssen muss man man nicht, aber können.
Du darfst aber gerne eine andere Lösung bauen.
Das Ergebnis ist F2!
E2 kannst Du aber auch in F2 einsetzen…
Als Tabellenfunktion könntest Du Classify einsetzen und die Hilftabellen verstecken:
'Tabellenfunktion
'=Classify(69;45;45)
' Mittelbetrieb
Function Classify(Bs, Bi, Us)
Dim classTab: classTab = Array(1, 10, 100, 1000)
Dim BsTab: BsTab = Array(0, 10, 50, 250, 10 ^ 6)
Dim BiTab: BiTab = Array(0, 2, 10, 43, 10 ^ 6)
Dim UsTab: UsTab = Array(0, 2, 10, 50, 10 ^ 6)
Dim Score: Score = Array(0, 21, 201, 2001)
Dim BT: BT = Array("Kleinstberieb", "Kleinbetrieb", "Mittelbetrieb", "Grossbetrieb")
Classify = WorksheetFunction.Lookup(Bs, BsTab, classTab)
Classify = Classify + WorksheetFunction.Lookup(Bi, BiTab, classTab)
Classify = Classify + WorksheetFunction.Lookup(Us, UsTab, classTab)
Classify = BT(WorksheetFunction.Match(Classify, Score, 1) - 1)
End Function
Hallo, wie würde die Lösung mit einer Formel deiner Meinung nach aussehen?
Gruß
Guten Tag,