Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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.
Antworten 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
Antworten 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
Antworten Top
#14
Wow Elex. Ja genau sowas habe ich gebraucht.:D  Hast du jetzt aber nicht von Hand gemacht oder?:(


DANKE
Antworten 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
Antworten 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.
Antworten 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)
Antworten Top


Gehe zu:


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