Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
428to432
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Analyse Größenklassen
20.05.2004 10:29:05
Erich
Hallo EXCEL-Freunde,
für Auswertungen analysiere ich Summen nach Größenklassen. Dazu habe ich eine Function erstellt (=GKI):
Option Explicit
' Funktion GKI: Ermittlung Größenklasse
Function GKI(S, t, W, G1, G2, G3, G4, G5, G6, G7)
If S / t > G1 Then
GKI = "a größer " & G1 & W
ElseIf S / t > G2 Then
GKI = "b von " & G2 & " bis " & G1 & W
ElseIf S / t > G3 Then
GKI = "c von " & G3 & " bis " & G2 & W
ElseIf S / t > G4 Then
GKI = "d von " & G4 & " bis " & G3 & W
ElseIf S / t > G5 Then
GKI = "e von " & G5 & " bis " & G4 & W
ElseIf S / t > G6 Then
GKI = "f von " & G6 & " bis " & G5 & W
ElseIf S / t < G6 Then
GKI = "g " & G7 & G6 & W
End If
End Function

In der Tabelle erstelle ich dann die Übersicht der Grenzen und die Formel ermittelt dann die jeweilige Größenklasse:
 
 CDEFG
2SummeGrößenklasse   
3-60.251,93c von -100 bis -50TEURO Größenklassen 
4-85.000,00c von -100 bis -50TEURO Teilung:1000
5-15.798,27b von -50 bis 0,00001TEURO Bezeichnung:TEURO
6-115.000,00d von -150 bis -100TEURO 0,000,01
7-3.000.000,00g über -2500TEURO -50,00-50.000,00
8-575.000,00f von -2500 bis -500TEURO -100,00-100.000,00
9-149.000,00d von -150 bis -100TEURO -150,00-150.000,00
10-5.000,00b von -50 bis 0,00001TEURO -500,00-500.000,00
11-175.000,00e von -500 bis -150TEURO -2500,00-2.500.000,00
12-201.000,00e von -500 bis -150TEURO über  
Formeln der Tabelle
D3 : =GKI(C3;G$4;G$5;F$6;F$7;F$8;F$9;F$10;F$11;F$12)
D4 : =GKI(C4;G$4;G$5;F$6;F$7;F$8;F$9;F$10;F$11;F$12)
D5 : =GKI(C5;G$4;G$5;F$6;F$7;F$8;F$9;F$10;F$11;F$12)
D6 : =GKI(C6;G$4;G$5;F$6;F$7;F$8;F$9;F$10;F$11;F$12)
F6 : =+G6/G$4
D7 : =GKI(C7;G$4;G$5;F$6;F$7;F$8;F$9;F$10;F$11;F$12)
F7 : =RUNDEN(+G7/G$4;2)
D8 : =GKI(C8;G$4;G$5;F$6;F$7;F$8;F$9;F$10;F$11;F$12)
F8 : =+G8/G$4
D9 : =GKI(C9;G$4;G$5;F$6;F$7;F$8;F$9;F$10;F$11;F$12)
F9 : =+G9/G$4
D10 : =GKI(C10;G$4;G$5;F$6;F$7;F$8;F$9;F$10;F$11;F$12)
F10 : =+G10/G$4
D11 : =GKI(C11;G$4;G$5;F$6;F$7;F$8;F$9;F$10;F$11;F$12)
F11 : =+G11/G$4
D12 : =GKI(C12;G$4;G$5;F$6;F$7;F$8;F$9;F$10;F$11;F$12)
F12 : =WENN(G11<-0,001;"über ";"größer")
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Da ich diese Function immer wieder in verschiedenen Dateien / Tabellen benötige, habe ich die Idee, eine UserForm in meiner Personl.xls zu hinterlegen; so dass ich
- individuell die Spalten für die Analyse und das Ergebnis auswählen kann
- in Textboxen die verschiedenen Grenzwerte eintragen kann.
-
Nun müsste die Function in der UF auf die Werte in den Textboxen für die Ergebnisermittlung zurückgreifen.
Derzeit scheitere ich daran, dass ich die formel in die UF nicht „integrieren“ kann. Hier meine aktuelle Datei:
https://www.herber.de/bbs/user/6556.xls
Besten Dank für eine Hilfe / Idee!!
mfg
Erich

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Analyse Größenklassen
20.05.2004 14:33:33
Björn
Hallo Erich,
Im Programmcode des CommandButton1 Deines UF steht
''''''''''''''''''''''''''''''''''''
' ? Function ?
''''''''''''''''''''''''''''''''''''
Zwei Zeilen höher musst Du
myZeile = Range("A65536").End(xlUp).Row
ersetzen durch
myZeile = Range(ComboBox4.Text & "65536").End(xlUp).Row
Dann kannst Du statt
''''''''''''''''''''''''''''''''''''
' ? Function ?
''''''''''''''''''''''''''''''''''''
folgenden Code einfügen:
Dim grenze(6) As Double
Dim aktuelleZeile As Double
Dim Teilung
Teilung = 1000
grenze(1) = TextBox1.Text
grenze(2) = TextBox6.Text
grenze(3) = TextBox5.Text
grenze(4) = TextBox4.Text
grenze(5) = TextBox3.Text
grenze(6) = TextBox3.Text - 2000000 'Neue Textbox erforderlich!!!!
For aktuelleZeile = 3 To myZeile
Select Case ActiveSheet.Cells(aktuelleZeile, MyCol)

Case Is &gt grenze(1)
ActiveSheet.Cells(aktuelleZeile, neueSpalte) = "a größer " & grenze(1) / Teilung & " TEURO"
Case Is &gt grenze(2)
ActiveSheet.Cells(aktuelleZeile, neueSpalte) = "b von " & grenze(2) / Teilung & " bis " & grenze(1) / Teilung & " TEURO"
Case Is &gt grenze(3)
ActiveSheet.Cells(aktuelleZeile, neueSpalte) = "c von " & grenze(3) / Teilung & " bis " & grenze(2) / Teilung & " TEURO"
Case Is &gt grenze(4)
ActiveSheet.Cells(aktuelleZeile, neueSpalte) = "d von " & grenze(4) / Teilung & " bis " & grenze(3) / Teilung & " TEURO"
Case Is &gt grenze(5)
ActiveSheet.Cells(aktuelleZeile, neueSpalte) = "e von " & grenze(5) / Teilung & " bis " & grenze(4) / Teilung & " TEURO"
Case Is &gt grenze(6)
ActiveSheet.Cells(aktuelleZeile, neueSpalte) = "f von " & grenze(6) / Teilung & " bis " & grenze(5) / Teilung & " TEURO"
Case Else
ActiveSheet.Cells(aktuelleZeile, neueSpalte) = "g über " & grenze(6) / Teilung & " TEURO"
End Select
Next aktuelleZeile
Beachte bitte, dass Du auf deinem Formular eine weitere Textbox für die Eingabe eines Grenzwertes benötigst. Wenn Du diese in Dein Formular eingfügt hast, dann musst Du die Zeile grenze(6) = TextBox3.Text - 2000000 'Neue Textbox erforderlich!!!! ersetzen durch grenze(6) = TextBox7.Text (Wenn denn der Name Deiner neuen Textbox Textbox7 ist).
Vielleicht wäre es auch ganz schlau, nicht vor jede Textbox "Grenze 1" zu schreiben ;-). Ach ja, der Code passt so nur, wenn die von Dir eingegebenen Grenzerte von oben nach unten immer kleiner werden (bei negativen Werten also immer größere Zahlen). Und vielleicht solltest Du mal überlegen ob Fall g mit "g über " richtig bezeichnet ist. Eigentlich müsste man dort "g kleiner als " schreiben. Spätestens bei positiven Grenzwerten verwirrt es sicherlich, wenn dort g über Grenzwert steht, g aber kleiner ist als der Grenzwert.
Viele Grüße
Björn
Anzeige
AW: Analyse Größenklassen
Erich
Hallo Björn,
super! Genau das habe ich gesucht.
Bzgl. der Grenzwerte bewegen diese sich immer im Minus. Insofern reden wir von größer
wenn der Minuswert größer ist; für einen Dritten natürlich nicht nachvollziehbar.
Werde das ganze jetzt verfeinern und optimieren. Müsste eigentlich klarkommen,
wenn nicht melde ich mich natürlich nochmals.
Also nochmals allerbesten Dank!
mfg
Erich
Danke für die Rückmeldung - o. T.
20.05.2004 18:10:27
Björn

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige