Office: Runden

Helfe beim Thema Runden in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi Edgar, dein Code hat mich im ersten Moment etwas gefoppt: Nach einer Änderung (außerhalb von S5:S18) lief ...Change() nicht mehr. Du schaltest... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Wolf38, 25. Mai 2010.

  1. OfficeUser Neuer User

    Runden


    Hi Edgar,
    dein Code hat mich im ersten Moment etwas gefoppt: Nach einer Änderung (außerhalb von S5:S18) lief ...Change() nicht mehr.

    Du schaltest Application.EnableEvents auf False.
    Danach prüfst du auf Target.Count und Intersect(Target, rng) und gehst dabei evtl. auf Exit Sub.
    Application.EnableEvents = True kommt nicht mehr dran - die Events bleiben ausgeschaltet.

    Ein weiterer Bedenk: Du setzt die VBA-Fkt. Round ein. Die arbeitet anders als (Excel-)Application.Round - schau mal in die VBA-Hilfe zu Round.
    Das mag schon mal so gewollt sein, sollte aber auch deutlich gemacht werden.

    In meinem Code hatte ich eingebaut, dass am Ende der größte Betrag die mit der Rundung meist auftretende Differenz trägt.
    So habe ich Wolfs Wunsch verstanden.
    Hier meine Ergebnisse:

     EFS
    3Erichs Code Quelldaten
    4   
    5350,260 350,266
    6100,000 100,000
    73,760 3,750
    819,480 19,483
    98,960 8,954
    103,660 3,664
    114,960 4,969
    126,760 6,752
    131,880 1,883
    140,180 0,180
    150,100 0,100
    16   
    17   
    18   
    19500,000 500,001
    ZelleFormel
    E19=SUMME(E5:E18)
    S19=SUMME(S5:S18)
    Der Unterschied zu deinen Ergebnissen:
    In E5 steht statt 350,3 nun 350,26, damit E19 nicht 500,04, sondern glatt 500 ist.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    OfficeUser, 29. Mai 2010
    #16
  2. Hallo,

    also jetzt hab ich mal so einiges an Problemen bemerkt. Also ich würde gerne die Tabelle besser darstellen, aber das sind zum Teil Firma internes wo ich nicht grad in das Netz stellen kann. Darum tue ich mir auch schwer euch das richtig zu erklären.

    Aber ich Versuche noch mal *wink.gif*

    Also in der in der Tabelle in trägt man in S1 die Ansatzgrösse ein z.B. 100 kg

    Dann werden die Werte in S5 bis S18 eingetragen und wie Ihr in der Tabelle sehen könnt kommt da nicht genau 100 heraus weil ich es mal übertrieben hab mit den Werten das man es auch besser verstehen kann was das Programm macht.

    Es rechnet mir jetzt die 533,450 kg herunter auf die gewünschte Ansatzgrösse 100 kg

    Mit der Formel S9/S19*S1/100*P9 So wird aus 25 kg dann 4,686kg usw.
    Die Formel steht in E9

    Dort wo die Prozent steht kann man noch eingreifen wenn man mehr oder weniger in seinem Rezept haben will.

    Also wichtig ist das die Formeln in der E Spalte bestand haben !!!!!

    Weil sonst kann das Programm von mir nicht richtig rechen.

    Hoffe mal das es jetzt einwenig klarer wird und es nicht nur um das Runden der Zahlen geht *wink.gif*

    Danke mal !

    Gruss 'Wolf38
     
    Wolf38, 29. Mai 2010
    #17
  3. OfficeUser Neuer User
    \@Erich,

    danke, ist mir heute schon das zweite Mal passiert!

    @wolf,

    die Verwirrung wird größer, jetzt hast Du Formeln in Deiner Tabelle. Kann ich auch:

    Tabelle1

     EFGHIJKLMNOPQRST
    4Start Rezept:   Korr.1Korr. 2Korr. 3Korr. 4Korr.5Korr. 6Korr. 7Korr. 8Total :% +/- Vorgänger Rezept:
    530,020kg            430,000kg
    630,000kgFixwerte         30,000kg
    730,000kgFixwerte         30,000kg
    8           Prozent    
    94,680kg         100  25,000kg
    101,260kg         100  6,765kg
    110,580kg         100  3,080kg
    120,780kg         100  4,165kg
    130,100kg         100  0,575kg
    140,300kg         100  1,585kg
    150,180kgFixwerte         0,180kg
    160,100kgFixwerte         0,100kg
    17 kg             kg
    182,000kgFixwerte         2,000kg
    19100,000kg            533,450kg
    ZelleFormel
    E9=(S9*$S/$S<60)*RUNDEN(S9*$S/$S*50;0)/50+(S9*$S/$S>=60)*(S9*$S/$S<150)*RUNDEN(S9*$S/$S*20;0)/20+(S9*$S/$S>=150)*RUNDEN(S9*$S/$S;1)
    E10=(S10*$S/$S<60)*RUNDEN(S10*$S/$S*50;0)/50+(S10*$S/$S>=60)*(S10*$S/$S<150)*RUNDEN(S10*$S/$S*20;0)/20+(S10*$S/$S>=150)*RUNDEN(S10*$S/$S;1)
    Excel Tabellen im Web darstellen >>
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    OfficeUser, 29. Mai 2010
    #18
  4. Runden

    Hallo Edgar,

    also das Programm rechnet jetzt was es vor her auch gemacht hat, aber das Runden was mein eigentliches Problem war kann ich nicht erkennen.

    Weil wenn ich das gleiche mit deinem VBA-Code rechne kommt das gleiche raus !
    0 - 60 kg 0.020kg
    60 - 150 kg 0.050kg
    150 - 300 kg 0.100kg


    Schritte von der Waage !

    Und die Schritte von der Waage macht meiner Ansicht dein Programm nicht!

    Vielleicht kannst du dir das noch mal anschauen, warum es denn so ist.

    Danke !

    Gruss Wolf


    Ps. diesen Code hab ich auch noch eingebaut gehabt, das ich bei der Auswahl in der Combobox die Auswahl zoomen kann, weil die Schrift so klein ist!

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    On Error Resume Next
    If Target.Validation.InCellDropdown Then ActiveWindow.Zoom = 150
    End Sub




    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    On Error GoTo errorhandler
    If Target.Validation.InCellDropdown Then ActiveWindow.Zoom = 200
    Exit Sub
    errorhandler:
    ActiveWindow.Zoom = 75
    End Sub

    Das funktioniert jetzt auch nimmer mit deinem Code !
     
    Wolf38, 29. Mai 2010
    #19
  5. Hallo Wolf,

    1. es kann nur einmal das Worksheet_change_Ereignis geben.
    2. der Code sollte genau das machen, was Du willst, wenn Du das machst, was Du beschrieben hast: Zahlen eingeben in S9 bis S18!
    3. wahrscheinlich ist auch Application.Screenupdatng auf False. Das solltest Du auf True setzen, damit der Code wieder läuft.
     
    BoskoBiati, 29. Mai 2010
    #20
  6. Aber ich hab schon gesehen das ist doch nicht so leicht.

    Weil die Formeln löscht es auch wieder heraus wenn ich die eingaben lösche von S5 bis S18 !

    Trotzdem Danke für dein Versuch mein Problem zu lösen.

    noch einen schönen Sonntag !

    Gruss

    Wolf39

    *frown.gif*
     
    Wolf38, 29. Mai 2010
    #21
  7. Hi Wolf,
    nach wie vor verstehe ich nicht so recht, wo dein Problem/Ziel eigentlich liegt.

    Ich versuchs mal:
    A) In den Zellen E9:E14 soll nach den Regeln gerundet werden.
    B) SUMME(E5:E19) soll immer gleich S1 sein.

    B) ist schon bei deiner Tabelle immer erfüllt, da E5 etwaige Differenzen trägt.
    A) lässt sich durch eine Formel bewerkstelligen.

    Was ich nicht verstehe:
    Du schreibst, dass S1 und S5:S18 eingegeben werden.
    S6, S7, S15, S16, S18 werden aber nirgends verwendet, da die entsprechenden Werte in Spalte E aus einer externen Datei heraus berechnet werden.
    Trotzdem wirkt sich eine in S6 eingegebene Zahl auf das Ergebnis aus, indirekt über S19. Das scheint mir inkonsistent.
    (Was, wenn jemand in S6 etwas anderes als den Wert in E6 eingibt?)

    In Spalte S sollten IMHO nur die Zellen S1, S5 und S9:S14 eingebbar sein.
    Der Rest ist leer oder wird aus der externen Datei berechnet.

    Schau dir diese Mappe mal an.
    Die ext. Bezüge (stören hier nur!) habe ich durch Zahlen ersetzt.
    Neu sind die Formeln in E5, E9:E14 und E19.
     
    Erich G., 30. Mai 2010
    #22
  8. Runden

    Hallo Erich,

    ja du hast mich richtig verstanden, weil genau so sollte das Programm arbeiten. Das ganze in Vba zu machen ist wohl nicht so leicht.

    Oder sag mir wie ich vorgehen muss um das auch in Vba zu machen.


    Danke mal !

    Gruss Wolf39*Smilie
     
    Wolf38, 30. Mai 2010
    #23
  9. Hi Wolf,
    "genau so sollte das Programm arbeiten"
    Gut, aber was stört dich daran jetzt noch?

    "Das ganze in Vba zu machen ist wohl nicht so leicht." Was ist "das Ganze" genau?
    Ein paar Formeln in VBA nachzubauen, ist nicht das Problem. Aber wozu?

    Formeln auf einem Tabellenblatt sind einfach da und funktionieren, wenn man sie mal hingeschrieben hat, bis man sie löscht. Gibt es etwas Praktischeres?

    Ein VBA-Programm muss gestartet werden. Wann soll das geschehen?
    (Das kann auch automatisch sein, etwa mit dem Change-Ereignis.)

    Was wird besser, wenn ein Teil der Aufgaben in dem Blatt mittels VBA gelöst wird?

    Noch einmal: Was genau sollte denn wann mit VBA erledigt werden?
    Die Formeln in Spalte E sollten ja wohl stehen bleiben - so habe ich dich verstanden.

    Noch eine Bemerkung:
    Unter "Was ich nicht verstehe:" habe ich etwas zu den einzugebenden Daten geschrieben.
    Schreibst du mir dazu auch mal einen Kommentar?
     
    Erich G., 30. Mai 2010
    #24
  10. Ich möchte mich bei allen bedanken die mir, versucht haben weiter zu helfen und auch jenen die mir dann weitergeholfen haben.*wink.gif*

    Also noch mal vielen vielen Dank !


    Gruss

    Wolf38
    *Smilie

    Ps. Erich ich weiss nicht ganz so genau was du meinst mit dem Kommentar ???
    bin leider auch nicht so oft in den Foren unterwegs das ich mich so gut auskenne!
     
    Wolf38, 30. Mai 2010
    #25
Thema:

Runden

Die Seite wird geladen...
  1. Runden - Similar Threads - Runden

  2. aktuelles Alter aus Geburtsdatum auslesen und runde Geburtstage markieren

    in Microsoft Excel Hilfe
    aktuelles Alter aus Geburtsdatum auslesen und runde Geburtstage markieren: Hallo liebes Forum, Ich habe eine Excel-Tabelle mit einer Liste von Namen und Geburtstagen und möchte in einer Zusatzspalte das aktuelle Alter ausweisen und Alter mit 0 oder 5 gelb markieren. Dazu...
  3. Datum/Uhrzeit runden in PowerQuery

    in Microsoft Excel Hilfe
    Datum/Uhrzeit runden in PowerQuery: Hallo zusammen, ich brauche eure Hilfe. Gibt es in PowerQuery eine Möglichkeit bei folgendem Format die Sekunden automatisch für die ganze Spalte auf 00 zu setzen? 24.01.2024 14:29:43 >>>...
  4. Runden bei Zeiten

    in Microsoft Excel Hilfe
    Runden bei Zeiten: Hallo, ich habe folgendes Problem, wenn ich Zeiten Runden auf 2 Kommastellen gerne hätte kommt immer 00:00,00 heraus =MIN(B4:B9)/100*95 das ist die bisherige Formel, das wird zwar richtig...
  5. immer auf die nächsten 0,50€ aufrunden

    in Microsoft Excel Hilfe
    immer auf die nächsten 0,50€ aufrunden: Hallo zusammen, nach erfolglosen Versuchen muss ich mich jetzt an euch wenden. Ich habe eine Tabelle mit Preisen: Diese sollen alle IMMER auf die nächsten 0,50 € aufgerundet, aber NICHT...
  6. Problem mit Runden (round)

    in Microsoft Access Hilfe
    Problem mit Runden (round): Hallo allerseits, bisher bin ich mit der Runden-Anweisung, round(Zahl,Anzahl Nachkommastellen) immer gut gefahren. Die Anwendung behandelt Geldbeträge mit Berechnung von Brutto-, Netto- und...
  7. #Wert!

    in Microsoft Excel Hilfe
    #Wert!: Hallo, ich bekomme immer den Fehler #Wert! beim kopieren der Formel angezeigt. In Zelle a2 Betrag einer Rechnung, Zelle c2 70% aus a2, bei 0 Zelle leer und gleichzeitig soll das Ergebnis auf 2...
  8. Mathematisches Runden (Banker's Rounding) ohne VBA

    in Microsoft Excel Tutorials
    Mathematisches Runden (Banker's Rounding) ohne VBA: im Gegensatz zum normalen "kaufmännischen Runden": =WENN(ISTGERADE(A1/1%)*(REST(A1/1%;1)<=0,5);ABRUNDEN(A1;2);RUNDEN(A1;2)) Quelle, abgewandelt auf Cent: Banker's rounding formula in Excel Am...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden