Excelhilfe



Excel-Version: 2002
nach unten

Betrifft: Excelhilfe
von: Ralf Becker
Geschrieben am: 03.05.2002 - 17:11:09

Hallo, kann mir jemand sagen, wie ich in Excel folgendes rechnen lassen kann: Ich gebe in B13 eine Honorarsumme ein, z.B. 52.000 € und Excel weiss: aha der Wert liegt zwischen 50.000 und 59.999 und so muss diser Wert mit 5,3 % multipliziert werden. Wenn ein anderes Honorar eingegeben wird z.B. 85.000 € dann muss Excel wissen: aha Wert zwischen 80.000 und 100.000 €, also mit 3,32 % multiplizieren. Kann mir jemand da helfen (wir haben 10 Honorarschritte von 20.000 - 2.500.000 und entsprechend 10 unterschiedliche Beitragssätze. Wer kann mir helfen?
nach oben   nach unten

Re: Excelhilfe
von: Michael
Geschrieben am: 03.05.2002 - 17:45:51

Vielleicht mit WENN + ODER

Wenn(Oder(B13>50000;B13<59999);B13*5,3%;hier dann wieder eine wenn oder)


nach oben   nach unten

Michael will 10 WENNs !
von: Volker Croll
Geschrieben am: 03.05.2002 - 17:51:47

Hallo Ralf, hallo Michael,

der Vorschlag von Ralf ist sicher ein Weg, aber Michael schrieb von 10 versch. Moeglichkeiten. Normalerweise gehen in Excel nur 8 WENNs. Bei mehr WENNS muessen diese mit + verbunden werden:

=WENN(...;+Wenn(...;+WENN(...;"")))

Gruss Volker

nach oben   nach unten

Sorry habe gerade Michael und Ralf verwechselt-oT.
von: Volker Croll
Geschrieben am: 03.05.2002 - 17:53:38

.

nach oben   nach unten

Re: Sorry habe gerade Michael und Ralf verwechselt-oT.
von: Ralf Becker
Geschrieben am: 03.05.2002 - 17:55:21

Danke - ich werde es mal versuchen - ist ganz schön schwierig - ich könnte die Werte ja in 2 Gruppen a 5 aufteilen

nach oben   nach unten

Re: Excelhilfe
von: GraFri
Geschrieben am: 03.05.2002 - 17:59:55

Hallo

In die Dekleration der Tabelle und Code anpassen.
--------------------------------------------------------

Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim tb As Worksheet
Dim A As Single
Dim B As Single

Set tb = Worksheets("Tabelle1")

On Error GoTo Fehler
Application.EnableEvents = False
If Target.Address = "$B$13" Then
If IsNumeric(tb.[B13].Value) Then 'Abfrage, ob Zahl
A = tb.[B13].Value
Select Case A
Case Is < 60000
B = A * 0.053
Case Is < 80000
B = A * 0.042
Case Is < 100000
B = A * 0.0332
'usw.
'usw.
'usw:
End Select
tb.[B14].Value = Format(Round(B, 2), "#,###.#0") 'Ausgabe in Zelle B14
End If
End If
Application.EnableEvents = True
Exit Sub
Fehler:
End Sub
--------------------------------------------------------

mfg, GraFri

nach oben   nach unten

Re: Excelhilfe
von: Ralf Becker
Geschrieben am: 03.05.2002 - 18:01:29

Hallo - klappt nicht es wird immer ein Fehler angezeigt - die Wenn-Bestimmung stimmt nicht

nach oben   nach unten

Re: Excelhilfe
von: Ralf Becker
Geschrieben am: 03.05.2002 - 18:03:20

Hallo GraFi - oh das sind ja alles bömische Dörfer für mich. Ich weiis gar nicht wo die Deklaration der Tabelle ist - kannst du mir da noch mal helfen?

nach oben   nach unten

Re: Excelhilfe
von: GraFri
Geschrieben am: 03.05.2002 - 18:19:47

Hallo

--------------------------------------------------------
Drücke in der Excel-Tabelle Alt+F11, dann solte ein zweigeteiltes Fenster erscheinen (oder: Unter Extras\Makro... den Visual-Basic Editor aufrufen). Im linken Fenster (falls nicht vorhanden, Strg+R drücken) findest du eine Auflistung aller geöffneter Dateien. Wähle dort die entsprechende Datei und dann das entsprechende Tabellenblatt durch doppelklick aus. Anschließend kopiere den Code in das rechte Fenster. Dann im Code den Tabellennamen und eventuell auch die Ausgabezelle anpassen.
--------------------------------------------------------

mfg, GraFri

nach oben   nach unten

Re: Excelhilfe
von: Michael
Geschrieben am: 03.05.2002 - 18:21:12

Ich nehme doch an das du nur eine Formel willst und nicht ein vba-Programm.
das mit denn + Zeichen ist klar (bei 10 Bedingungen)
mein Fehler

ansonsten Formel:

=WENN(ODER(B13>50000;B13<59999);B13*5,3%;+WENN(ODER(B13>60000;B13<69999);B13*4%;+WENN usw))

nach oben   nach unten

Re: Excelhilfe
von: Ralf Becker
Geschrieben am: 03.05.2002 - 18:43:35

Hallo, ich habe alles hinbekommen - aber wenn ich dan sage speichern und zu excel zurückkheren und ich in B13 z.B. 80000 eingebe erscheint in C13 nichts - es tut sich nichts - muss ich noch iregndwas aktiveiren?

nach oben   nach unten

Re: Excelhilfe
von: Ralf Becker
Geschrieben am: 03.05.2002 - 18:53:25

Hi nochmal - ich habe den Namen der Tabelle, die bei mir Test heisst in der Zeile "Set tb = Worksheets("TEST") geändert und das Ergebnis soll in Zeile c13 ausgedruckt werden - aber wie gesagt, wenn in in B13 den Wert eingeben tut sich nichts - ich habe alles so genacht wie du geschreiben hast udn wenn ich den Visual.. öffne erschenit auch der Code (Linke Überschrift Worksheets - rechte Überschrift Change.
Was mache ich falsch?

nach oben   nach unten

Re: Excelhilfe
von: Ralf Becker
Geschrieben am: 03.05.2002 - 18:57:38

Ich versuchs noch mal

nach oben   nach unten

mit SVERWEIS würde es auch gehen...
von: Rolf, Lgh.
Geschrieben am: 03.05.2002 - 19:07:52

Hallo Ralf,
wenn Du noch daran Interesse hast, könnte ich Dir morgen (heute leider nicht mehr) ein Muster erstellen.
Gruß Rolf

nach oben   nach unten

Re: mit SVERWEIS würde es auch gehen...
von: Ralf
Geschrieben am: 03.05.2002 - 19:16:49

Hallo,

klar sehr gerne - ich verzweifele schon es ist so kompliziert - ein "Formelweg" würde mir reichen - die anderen Daten setze ich dann selbst ein - nur einmal wissen wie es geht:

in B13 wird der Wert eingegeben und in C13 soll das Egebnis ausgeworfen werden.

B13 = 80.000 € Honorar und in C13 sthet dann automatisch: 3.360
(80.000 x 4,2 %) udn wenn ich 50.000 e eingebe muss in C13 automatisch 2.650 stehen (50.000 x 5,3%) Alles klar? wenn Fragen einfach anmailen. Danke

nach oben   nach unten

Re: Excelhilfe
von: Ralf Becker
Geschrieben am: 03.05.2002 - 19:36:25

DANKE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Jetzt klappt alles wunderbar!!!!!!!!!!!!!!!

Ich hatte mich verschieben - wirklich super klasse

Vielen Dank!!!!!

Tolles Wochenende an GraFri


nach oben   nach unten

Re: Excelhilfe
von: GraFri
Geschrieben am: 03.05.2002 - 19:37:39

Hallo

Habe den Code etwas geändert. Ausgabe in Zelle C13, Tabellenname = 'Test', bei falscher Eingabe wird die Eingabe- und Ergebniszelle gelöscht. Lösche den alten Code und kopiere den Code nochmals in die Tabelle 'Test'. Speichere die Tabelle ab, schließe sie und öffne sie erneut, dann sollte es funktionieren.
--------------------------------------------------------

Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim tb As Worksheet
Dim A As Single
Dim B As Single

Set tb = Worksheets("Test")

On Error GoTo Fehler
Application.EnableEvents = False
If Target.Address = "$B$13" Then
If IsNumeric(tb.[B13].Value) Then 'Abfrage, ob Zahl
A = tb.[B13].Value
Select Case A
Case Is < 60000
B = A * 0.053
Case Is < 80000
B = A * 0.042
Case Is < 100000
B = A * 0.0332
'usw.
'usw.
'usw:
End Select
tb.[C13].Value = Format(Round(B, 2), "#,###.#0") 'Ausgabe in Zelle C13
tb.[B13].Value = Format(A, "#,###.#0")
Else
tb.[B13] = vbNullString
tb.[C13] = vbNullString
End If
End If
Application.EnableEvents = True
Exit Sub

Fehler:
Application.EnableEvents = True
End Sub
--------------------------------------------------------

mfg, GraFri

nach oben   nach unten

Re: Excelhilfe
von: Josef B
Geschrieben am: 05.05.2002 - 11:32:11

Hallo Ralf
Für solche Aufgaben ist die Funktion Verweis ideal.
Mein Beispiel rechnet von 50000 bis 59999 5,3% von 60000 bis 69999 4,3% und so weiter.
Das ganze lässt sich leicht auf 10 Schritte erweitern und auch die entsprechenden Beitragssätze
sind leicht anpzuassen.

=VERWEIS(B13;{50000;60000;70000;80000};{5,3;4,3;3,3;2,3})*B13%

MfG Josef


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Tabellenblatt kopieren, Dateigröße vermehrt sich !"