Hallo mikeleb,
ja, ich habe das Ganze etwas undeutlich erklärt.
Bisher habe ich das Makro zur generierung meiner Artikelvarianten manuell ausgeführt.
Zur Generierung der verschiedenen Artikelvarianten habe ich die arrays direkt im Makro gefüllt:
Code: Alles auswählen
Breite = array("25 cm","30 cm","40 cm","50 cm","60 cm","70 cm","80 cm","100 cm")
Farbe = array("Weiß","Rot","Gelb","Grün","Magenta","Ocean","Hellgrau","Gold","Schwarz")
Da man jedoch je nach Artikel andere Breiten oder Farben benötigt, möchte ich auf einem Tabellenblatt Textfelder und Kombinationsfelder anlegen, in welche man z. B. die Artikelnummer, Aufpreise und Werte zur Auswahl der Breiten / Farben eingeben / auswählen kann.
Hierzu müsste ich jedoch wissen, wie man z. B. den Inhalt eines Feldes dem Array Breite zuweisen kann.
Soweit ich das aus den Büchern verstanden habe, kann man ein Kombinationsfeld anlegen und diesem Werte aus einer Tabelle zuordnen.
Dies scheint aber nur für Datenbanke zu funktionieren.
Sicher gibt es auch die Möglichkeit, Daten zwischen Tabellenblättern bereitzustellen.
Nochmals zusammengefasst:
Ich möchte einige Werte in Textfeldern eingebenlassen, welche dann den Konstanten im Makro zugeordnet werden.
Dies habe ich bisher über so realisiert:
Dann möchte ich Kombinationsfelder bereit stellen, über welche die benötigten Werte für die Arrays ausgewählt und übergeben werden können.
Bisher war dies nur im Makro wie folgt möglich:
Code: Alles auswählen
Breite = array("25 cm","30 cm","40 cm","50 cm","60 cm","70 cm","80 cm","100 cm")
Farbe = array("Weiß","Rot","Gelb","Grün","Magenta","Ocean","Hellgrau","Gold","Schwarz")
Hier ein mal das Makro, welches sich noch im Testmodus befindet, jedoch schon eine Tabelle mit allen möglichen Variantenkombinationen und Artikelnummern generiert:
Code: Alles auswählen
Sub Varianten
'Schreibt alle Kombinationsmöglichkeiten der folgenden Arrayeinträge
'in eine Tabelle
DIM art as integer
Breite = array("25 cm","30 cm","40 cm","50 cm","60 cm","70 cm","80 cm","100 cm")
Farbe = array("Weiß","Rot","Gelb","Grün","Magenta","Ocean","Hellgrau","Gold","Schwarz")
Preis = array(0,1,4,5,6,7,8,10)
id = inputbox ("Bitte Prodult-ID eingeben")
sku = inputbox ("Bitte Artikelnummer eingeben")
Attr = "Breite:select:0, Farbe:select:1"
Menge = 100
mMenge = 1
'Reference = sku + "
'k = ermittelt die Anzahl der Kombinationen
k = (ubound(Breite())+1)*(ubound(Farbe())+1)
for n = 1 to k
Bild = b + 1
Reference = sku + "-" + format(art + 1, "000")
aPreis = format(Preis(a) / 119 * 100, "0.00")
Value = "Breite " + Breite(a)+":0, "+ Farbe(b) + ":1"
' Es werden Werte für den Prestasho Import generiert
thisComponent.sheets(1).getcellbyposition(1,n).setstring(Attr(b))
thisComponent.sheets(1).getcellbyposition(2,n).setstring(Value(a))
thisComponent.sheets(1).getcellbyposition(0,n).setstring(id(n))
thisComponent.sheets(1).getcellbyposition(4,n).setstring(Reference(n))
thisComponent.sheets(1).getcellbyposition(8,n).setstring(aPreis(a))
thisComponent.sheets(1).getcellbyposition(10,n).setstring(Menge())
thisComponent.sheets(1).getcellbyposition(11,n).setstring(mMenge())
thisComponent.sheets(1).getcellbyposition(15,n).setstring(Bild(b))
b = b + 1
art = art + 1
if b > ubound(Farbe()) then : a = a + 1 : b = 0 : end if
next n
End Sub
Einen schönen Sonntag noch,
Domenico