Clever-Excel-Forum

Normale Version: Bestellmenge berechnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7
Hallo neopa,

die Formel passt super.
Vielen Dank. :18: :18: :18: :18:

jetzt fehlt im Moment nur folgendes Problemchen
Ps : vielleicht fählt dir eine Möglichkeit ein wie Ich das Problem der Zeilen 30-32 lösen kann .
Die Zelle  H 30 sollte mit 2,6 multipliziert werden
Die Zelle  H 31 sollte mit 3,1 multipliziert werden
Die Zelle  H 32 sollte mit 4,0 multipliziert werden

dann komm Ich ganz langsam an mein Ziel ..... :19: :19: :19: :19: :19:
Hallo,

mit Deinen Vorgaben:

- B19=2,0
- Längenangaben in A30:A32 größer gleich 1000

- Deiner Teilformel  
Code:
AUFRUNDEN((B19-0,5)/0,8;0)+1
- deren Grundlage sich mir hier hier noch nicht erschließt (also warum von B19 konstant 0,5 m abgezogen werden muss
  und dieses Teilergebnis durch 0,8 geteilt und abschließend noch eine 1 addiert wird.)
-  und warum für H30:H32 überhaupt eine Gesamtlänge als Menge ermittelt werden soll und nicht wie in H25:H28 ein Stückzahl?
- scheinbar keine Berücksichtigung von E20 erfolgen soll, oder?
- und sich als Ergebnis im Beispiel 7,8 (m) ergeben soll

hab ich Dir für H30 nun nachfolgende Formel aufgestellt, die Du ziehend nach unten kopieren kannst:

Code:
=WENN(A30="";"";(AUFRUNDEN((B$19-0,5)/0,8;0)+1)*(RECHTS(A30;4)/1000>=B$19)*(RECHTS(0&A29;4)/1000<B$19)*RECHTS(A30;4)/1000)
Hallo neopa,
Die Formel passt soweit, jedoch wird hier nur die 1 Lage berechnet. Die zweite Lage muss dann mit dem Faktor 0,5 berechnet werden (erste Lage hat 0,8)

Danke soweit  :18:
Guten Morgen,

... dann in H30 wohl z.B. folgende Formel:


Code:
=WENN(A30="";"";((AUFRUNDEN((B$19-0,5)/0,8;0)+1)*(RECHTS(A30;4)/1000>=B$19)*(RECHTS(0&A29;4)/1000<B$19)+
(AUFRUNDEN((D$19-0,5)/0,5;0)+1)*(RECHTS(A30;4)/1000>=D$19)*(RECHTS(0&A29;4)/1000<D$19))*RECHTS(A30;4)/1000)


und diese Formel nach unten kopieren. In G30:G32 muss dann allerdings anstelle "Stück" nun "m" als Einheit angegeben werden.
Guten Morgen neopa,

also die Formel ist soweit in Ordnung :18: ,

jedoch hab ich 2 klitzekleines Problemchen:
  • in deiner Formel taucht die Zeile 29 auf. Die Formel funktioniert nur wenn die Zeile 29 leer ist. Diese Zeile ist  oder wird belegt, demnach bringt die Formel einen Fehler. Was bewirkt die Zeile 29 in der Formel kann dies geändert werden.
  • wenn Feld B 19 oder D 19 gleich / kleiner als 1,0m ist wirft die Formel 1 Stab zuwenig aus. Wobei ich sage das kommt relativ selten vor wenn sogar garnicht das eine Decke schmäler als 1 m ist.
Also sollte nur der Punkt 1 nochmals überdacht werden.



Danke sonst alles Super
Hallo Thomas,

zu 1.) ein Schnellschuss wäre:

In H30:

Code:
=WENN(A30="";"";((AUFRUNDEN((B$19-0,5)/0,8;0)+1)*(RECHTS(A30;4)/1000>=B$19)*(WENN(ZEILE()=30;1;RECHTS(0&A29;4)/1000<B$19))+
(AUFRUNDEN((D$19-0,5)/0,5;0)+1)*(RECHTS(A30;4)/1000>=D$19)*(WENN(ZEILE()=30;1;RECHTS(0&A29;4)/1000<D$19)))*RECHTS(A30;4)/1000)

und diese nach unten kopieren.

zu 2) für Breiten (und Längen) kleiner als 2,6m/2, müsste man mE sowieso eine andere Berechnung anstellen, weil dann ja aus einer Latte zwei nutzungsfähige gemacht werden könnten und bereits dafür eine aufwendigere Berechnung erforderlich wäre. Noch aufwendiger würde die Berechnung, wenn z.B. beide Seitenlängen kurz sind und oder wenn überhaupt eine Optimierungsberechnung vorgenommen werden könnte, bei entsprechenden Kombinationen von Länge und Breite und der Möglichkeit der Nutzung von Zuschneidens der Latten.
Hallo neopa,
das mit dem Punkt 2 lassen wir wie es ist.

jedoch mit der Formel geht es noch nicht.

=WENN(A30="";"";((AUFRUNDEN((B$19-0,5)/0,8;0)+1)*(RECHTS(A30;4)/1000>=B$19)*(WENN(ZEILE()=30;1;RECHTS(0&A29;4)/1000
(AUFRUNDEN((D$19-0,5)/0,5;0)+1)*(RECHTS(A30;4)/1000>=D$19)*(WENN(ZEILE()=30;1;RECHTS(0&A29;4)/1000
die beiden rot markierten "29" machen mir Probleme, sobald in Zeile 29 etwas eingefügt wird kommt "#WERT!"

Also müßte dieser Teil der Formel geändert werden.
:16: :19:
Hallo zusammen,
Das Problem ist gelöst
Nochmals Danke an Hella und den Rest der Excelkammer  :18: :18: :19:

Schließe den Fall noch nicht ab denn ich bin noch nicht ganz fertig

:16:
Hallo nochmal,
Das Dankeschön muss ich noch Mal richtig stellen.
Das kommt von der autokorektur sollte man ausschalten  Huh

Danke neopa und den Rest der excellianer  :18: :18: :18: :18: :18:

So sollte es heißen.
Hallo zusammen,
eine Frage zu VBA :

möchte folgendes erreichen.
wenn Ich meine Mappe geöffnet und die Angaben eingegeben habe sollen diese an einem bestimmten Ort gespeichert werden das habe Ich als VBA soweit zusammengesucht und erreicht



Code:
Sub Unterdecke ()
Dim strFilename As String
Const LW = "F:\"
Const Pfad = "F:\003_Trockenbau\"
ChDrive LW
ChDir Pfad
strFilename = getName(Pfad & Format(Date, "YYYY-MM-DD_") & Sheets("Unterdecke Noniusabhänger").Range("C14"), ".xlsm")
ActiveWorkbook.SaveAs strFilename, FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False


End Sub

Private Function getName(ByVal strName As String, ByVal strExtension As String) As String
   Dim lngNummer As Long
 
   If Dir(strName & strExtension) = "" Then
      getName = strName & strExtension
   Else
      lngNummer = 1
      While Dir(strName & "_" & Format(lngNummer, "000") & strExtension) <> ""
         lngNummer = lngNummer + 1
      Wend
      getName = strName & "_" & Format(lngNummer, "000") & strExtension
   End If
End Function


jetzt speichert es die Mappe , die offene Mappe ist jedoch die neue mit Eingaben.

Besteht eigentlich die Möglichkeit das man Range("C14"), ".xlsm") noch die Zelle C16 einbindet. ZB. in C14 steht Mayer und in C16 Wohnzimmer der Speichername sollte dann Mayer_Wohnzimmer.xlsm lauten.

Wie kann Ich mit einer 2 VBA erreichen das er mir alle Werte wieder auf null setzt und oder wieder die Original Mappe als leere Mappe öffnet.

Habe mit dem Makrorecorder was aufgezeichent, dabei bleibt aber der Speichername der  zuvor gespeicherten Mappe bestehen.

NAJA ist halt nicht so einfach

:22:
Seiten: 1 2 3 4 5 6 7