Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1224to1228
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listbox Einträge Verschnittoptimierung

Listbox Einträge Verschnittoptimierung
Pascal
Hallo Liebe Gemeinde,
ich habe folgendes Problem, ich arbeite in meinen Semesterferien in einem Betrieb für Bodenverlegung nun soll für meinen Arbeitgeber ein Verschnittoptimierungsprogramm schreiben, das Problem ist folgendes, da es sich um Bahnen Ware handelt, muss es nen bisschen komplizierter gerechnet werde. Okay kommen wir mal zu meinem Problem. Ich habe ein Textfeld wo die Länge der einzelnen Bahnen eingegeben wird diese wiederum sollen dann beim bestätigen des Button in die List box eingetragen werden jeweils in derselben Zeile in eine andere Spalte also quasi von links nach rechts. Dies funktioniert soweit auch ganz gut, es ist halt nur das Problem, das ich weiß das durch mein jetziges verfahren die ganze Sache auf 10 Spalten begrenzt ist, da es aber mal vorkommen kann, das mehr als nur 10 Bahnen benötigt werden. Wo dann sofort ein Fehler auftaucht, da ja halt nur 10 spalten zur Verfügung stehen. Dieses Problem müsste ich soweit ich weiß mit einem Array gelöst werden. Da ich habe nicht wirklich Ahnung von VBA Programmierung habe komm ich einfach nicht weiter. Ach ja was mich auch noch interessieren würde ist ob es möglich ist, das am Ende der Eingabe in die letzte spalte die Gesamtsumme der einzelnen Bahnen auftaucht? Das wär nämlich später für die Auswahl der richtigen Ware wichtig.
Freue mich über jede Hilfe die ich kriegen kann.
Hier mal mein Code wie er bisher aussieht, nicht wundern hab von VBA nicht wirklich ahnung.

Private Sub CommandButton1_Click()
Dim i As Integer
Dim y As Variant
Dim l As Integer
Dim j As Integer
Dim x As Variant
l = CInt(TextBox1.Text)
i = CInt(Abahnen.Text)
'---- Eigenschaft der Listbox ColumnCount anpassen
With ListBox1
' Bestimmt die länge der einzelnen Spalten und begrenzt die sichtbarkeit in der Tabelle auf  _
diese größe Darum erste Zahl größer, damit man Raum Bezeichnung eingeben kann.
.ColumnWidths = "3,5cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;"
.ColumnCount = 12 ' Breite fuer hier 3 Spalten entsprechend anpassen
'Zuweisung von Werten
If l = 1 Then
.AddItem RBez                   'erste Spalte in Listbox
End If
If l = 1 Then
.List(.ListCount - 1, l) = LBahnen 'zweite Spalte in Listbox
End If
If l = 2 Then
.List(.ListCount - 1, l) = LBahnen 'dritte Spalte in Listbox
End If
If l = 3 Then
.List(.ListCount - 1, l) = LBahnen 'vierte Spalte in Listbox
End If
If l = 4 Then
.List(.ListCount - 1, l) = LBahnen 'fünfte Spalte in Listbox
End If
If l = 5 Then
.List(.ListCount - 1, l) = LBahnen 'sechste Spalte in Listbox
End If
If l = 6 Then
.List(.ListCount - 1, l) = LBahnen 'siebte Spalte in Listbox
End If
If l = 7 Then
.List(.ListCount - 1, l) = LBahnen 'achte Spalte in Listbox
End If
If l = 8 Then
.List(.ListCount - 1, l) = LBahnen 'neunte Spalte in Listbox
End If
' -----Listbox nimmt nur 10 Spalten werte---------
If l = 9 Then
.List(.ListCount - 1, l) = LBahnen 'zehnte Spalte in Listbox
End If
If l = 10 Then
.List(.ListCount - 1, l) = LBahnen 'elfte Spalte in Listbox
End If
If l = 11 Then
.List(.ListCount - 1, l) = LBahnen 'zwölfte Spalte in Listbox
End If
End With
If i > l Then
CommandButton1.Enabled = True
Else
CommandButton1.Enabled = False
End If
TextBox1.Text = l + 1
End Sub

LG Pascal
AW: Listbox Einträge Verschnittoptimierung
22.08.2011 13:56:39
Armin
Hallo Pascal,
also eine Listbox hat max. 10 Splaten, da kannst Du auch mit einem Array nichts ausrichten.
Ich glaube Du musst die sache anders angehen. Aber ohne Muster-Sheet hat warscheinlich keiner Lust das Rad noch einmal zu erfinden. Denn es kann ja ganz anders verstanden werden als Du villeicht meinst,
und dann sind Deine Semesterferien vorbei.
LG Armin
AW: Listbox Einträge Verschnittoptimierung
22.08.2011 14:03:38
Pascal
Ja das ist richtig :D
Okey hab hier mal die Datei hochgeladen also in der Excel tabelle sieht man wie man das jetzt macht also zur zeit das wird per Hand gemacht die Rollen ausgesucht. wie lang so eine rolle ist, entnimmt man einre externen seite die vom hersteller geliefert wird.
Also ich möchte einfach in der Rechten listbox die daten eintragen und zum schluss noch die gesamtsumme habe. Da sitze ich zur zeit bei und da liegt auch mein problem weil es vorkommen, das halt mehr als 10 bahnen benötigt werden.
https://www.herber.de/bbs/user/76302.xlsm
Anzeige
AW: Listbox Einträge Verschnittoptimierung
22.08.2011 14:50:31
Armin
Hallo Pascal,
ich würde die Darstellung mehrerer Räume so nicht darstellen (geht auch nicht,wenn mehr als 9 Bahnen vorkommen soll). Raumauswahl mit Kombifeld oder Liste und die Bahnen als Liste.
Also zwei Listen 1. für Räume und 2. Liste für Bahnen. Dabei wird die 2. Liste erst aufgebaut bei der Auswahl eines Raumes. Die Bahnen aber nicht in Spaltendarstellung sondern als Liste! Übrigens solltes Du Dir überlegen ob Du nicht ein Sheet als Speicher verwendest (ausblenden). Damit wird die Sache etwas übersichtlicher und Du behältst die Kontrolle.
LG Armin
AW: Listbox Einträge Verschnittoptimierung
22.08.2011 14:55:05
Pascal
Hallo Armin,
Ja das ist ne gute idee das könnte ich mal versuchen ob ich das hinbekomme. mit 2 listen. Aber herzlichen dank schon mal für die schnelle hilfe. ja sheets muss ich mich mal schlau lesen, da ich noch nicht wirklich mit welchen gearbeitet habe.
lg Pascal
Anzeige
AW: Listbox Einträge Verschnittoptimierung
22.08.2011 15:08:24
Armin
Hallo Pascal,
Sheets sind in D Tabellen!
Du sollst die Werte in eine versteckte Tabelle schreiben.
LG Armin
AW: Listbox Einträge Verschnittoptimierung
22.08.2011 15:15:10
Pascal
Ja das Sheets Tabellen sind das wusste ich nur weiß ich halt nicht, ob man sie in ein Workbook einfügen kann wobei sie für die normalen benutzer nicht sichtbar sind. Weil ich halt die Leute hier kenne und die fummeln gerne in listen rum wo sie eigentlich nichts zu suchen haben. Also muss ich sie verstecken oder halt passwort sichern, was aber bestimmt anschließend fragen aufwirft :D wieso ich passwort schutz in Tabellen habe.
lg Pascal
AW: Listbox Einträge Verschnittoptimierung
22.08.2011 15:20:48
Pascal
ah :D gefunden wo ich die verstecke. Das ist doch mal ne geile Sache. Da haben sich die Excel Programmierer ja mal was bei gedacht.
Anzeige
AW: Listbox Einträge Verschnittoptimierung
22.08.2011 17:07:13
Peter
Hallo Armin,
eine ListBox hat max. 10 Spalten, wenn man sie mit AddItem befüllen will, aber durchaus mehr als 10, wenn man sie mit einem Array füllt.
Hier z. B. eine ListBox mit 17 Spalten:
If lAnzahl > 0 Then ' wurden Daten in den temporären Array übertragen?
      ListBox1.ColumnCount = UBound(vTmp) ' die Spaltenanzahl der ListBox festlegen
      ListBox1.Column = vTmp              ' die Spalten mit Inhalten aus dem Array befüllen
   End If
Anzeige
AW: Listbox Einträge Verschnittoptimierung
22.08.2011 17:13:07
Armin
Hallo Peter,
das wusste ich auch noch nicht, ist aber toll. Wobei Listen mit 17 Spalten naja.
Aber wenn man es mal braucht ist das eine Lösung.
LG Armin
AW: Listbox Einträge Verschnittoptimierung
22.08.2011 17:22:55
Armin
Hallo Pascal,
jetzt habe ich noch etwas vergessen. Wenn Du eine Tabelle ausblenden möchtest die als Zwischenspeicher genutzt wird, dann kann man dies aus der Entwicklungsumgebung mit Tabelle.Visible = xlSheetVeryHidden (Eigenschaften), das kann man nur aus der Entwicklungsumgebung wieder ändern.
LG Armin
AW: Listbox Einträge Verschnittoptimierung
23.08.2011 10:12:35
Pascal
Das mit dem Array sieht gut aus :D aber ne frage wie lade ich die daten bei jedem klick in das array wenn ich halt die eingabe bestätige :D Brauch ich dafür nicht noch nen extra button, weil ich doch denke, das der das erst übernimmt wenn ich mit der eingabe fertig bin oder ? also halt das der nicht immer das Array automatisch in die listbox überträgt bei jeder eingabe oder ? Hab halt kaum ahnung von VBA programmierung. Hab mich halt bis jetzt nur mit Hardware auseinander gesetzt und mit servern :D
lg
Pascal.
p.s. find die hilfe die man hier kriegt echt super. wenn alle so wären, dann wär die welt nen paradise.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige