Zahlen Teilen durch bestimmte Zahlen ohne Rest
#11
Habe die Tabelle nicht angeschaut. 2401 für nur 128. Für jeden 4er Schritt bis 176 entsprechend noch mal. Aber immer noch überschaubar.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#12
Ah ok. Dann hier nochmal allgemein die Fakten ganz allgemein zusammen gefasst.

Gesamt Seitenzahlen: 128, 132, 136, 140, 144, 148, 152, 156, 160 ,168, 176

Devisoren: 16, 20, 24, 28, 32, 40, 48. (Mit einer Kombination dieser Zahlen muss die erforderliche Seitenzahl erreicht werden.)

Parts immer 4.

Rest muss immer 0 sein.

Bsp:
  • 128   = 32, 32, 32, 32
  • 128   = 32, 24, 32, 40
  • 128   = 20, 28, 32, 48
Top
#13
Hi

wenn ich es richtig verstanden haben, bleiben am Ende 73 Möglichkeiten.

.xlsx   Kombi.xlsx (Größe: 9,23 KB / Downloads: 6)
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Terades
Top
#14
Wow Elex. Ja genau sowas habe ich gebraucht.:D  Hast du jetzt aber nicht von Hand gemacht oder?:(


DANKE
Top
#15
Als Denkansatz innerhalb von VBA:
Code:
Sub ErstelleParts()

   Dim Seite As Byte
   Dim Divisor(1 To 7)
   Dim Teil1
   Dim Teil2
   Dim Teil3
   Dim Teil4
   Dim Zwischensumme
   
   ; folgende Daten aus Tabelle auslesen:
   Seite = 128
   Divisor(1) = 16
   Divisor(2) = 20
   Divisor(3) = 24
   Divisor(4) = 28
   Divisor(5) = 32
   Divisor(6) = 40
   Divisor(7) = 48
   
   For Teil1 = 1 To 7
       For Teil2 = 1 To 7
           For Teil3 = 1 To 7
               For Teil4 = 1 To 7
                   Zwischensumme = Divisor(Teil1) + Divisor(Teil2) + Divisor(Teil3) + Divisor(Teil4)
                   If Zwischensumme = Seite Then
                       Debug.Print Divisor(Teil1); Divisor(Teil2); Divisor(Teil3); Divisor(Teil4)
                   End If
               Next
           Next
       Next
   Next
   
End Sub
Ich habe die Daten manuell im Programm eingetragen, die müsstest du dir aus den entsprechenden Zellen einlesen.
Die vier For ... Next-Schleifen beziehen sich hierbei nur auf 4 Teile (müsstest du entsprechnd anpassen, wenn mehr oder weniger).
Die Ausgabe erfolgt nur im Direkfenster zum Ausprobieren. Kann man dann später in den Zellen ausgeben lassen.
Noch sind doppelte Zahlenreihen möglich, weil die Reihenfolge keine Rolle spielt.
Wie gesagt: soll nur ein Denkansatz sein.
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
[-] Folgende(r) 1 Nutzer sagt Danke an LuckyJoe für diesen Beitrag:
  • Terades
Top
#16
Klar von Hand!
Nein natürlich nicht. Fragen zu Kombis gab es immer mal wieder. Hatte mir da was gebastelt und wie es scheint war es auch für den Fall halbwegs brauchbar.
Top
#17
Cooler Ansatz Lucky

Läuft schön schnell durch. :)


Code:
Sub ErstelleParts()

  Dim Seite As Byte
  Dim Divisor(1 To 7)
  Dim Teil1
  Dim Teil2
  Dim Teil3
  Dim Teil4
  Dim Zwischensumme
 
  Application.DisplayAlerts = False
  Application.ScreenUpdating = False
 
  Z = 17
  s = 2
 
  For s = 2 To 12

  ' folgende Daten aus Tabelle auslesen:
  Seite = Range("A" & s).Value
  Divisor(1) = Range("B2").Value
  Divisor(2) = Range("B3").Value
  Divisor(3) = Range("B4").Value
  Divisor(4) = Range("B5").Value
  Divisor(5) = Range("B6").Value
  Divisor(6) = Range("B7").Value
  Divisor(7) = Range("B8").Value
 
       For Teil1 = 1 To 7
           For Teil2 = 1 To 7
               For Teil3 = 1 To 7
                   For Teil4 = 1 To 7
                       Zwischensumme = Divisor(Teil1) + Divisor(Teil2) + Divisor(Teil3) + Divisor(Teil4)
                       If Zwischensumme = Seite Then
                           Range("B" & Z) = (Divisor(Teil1) & ";" & Divisor(Teil2) & ";" & Divisor(Teil3) & ";" & Divisor(Teil4))
                           Range("A" & Z) = Seite
                           Z = Z + 1
                       End If
                   Next
               Next
           Next
       Next
  Next
  Call Splitten
 
  Application.ScreenUpdating = True
 
End Sub

Klar sind jetzt noch doppelte dabei mal sehen wie ich die weg bekomme. Hab ja nen vergleich wie es dann sein muss. (dank Elex)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste