Ich habe ein Produkt, das mehrere Varianten und Größen haben kann. Ich brauche ein Makro, das Werte annehmen und diese verketten kann, um eine Produkt-SKU zu erstellen. Mein Produkt ist beispielsweise 1234. Die Varianten sind ABF, PLC, MKLN, XTR. Die Größen sind 30, 36 usw. Ich muss alle Varianten im Makro erstellen, indem ich diese Werte aus einer Spalte verwende. Meine endgültigen Produkte werden also 1234-30-ABF, 1234-30-PLC, 1234-30-MKLN usw. und 1234-36-ABF, 1234-36-PLC usw. sein. Ich kann diese Werte in der Spalte angeben. Ich muss die Spalten lesen und das Makro in einer Schleife ausführen, indem ich entweder die Funktion „&“ oder „concat“ verwende. Ich werde die Werte angeben. Ich habe das Makro VBA ausprobiert, kann aber keine Variable in der Funktion „concat“ verwenden. Bitte helfen Sie.
ActiveCell.FormulaR1C1 = "=Sheet2!RC&""-""&Sheet2!RC[3]&"".""&""FR"""
Antwort1
Angenommen, die Basismodelle stehen in Spalte A, die Varianten in Spalte B, die Größen in Spalte C und die SKUs befinden sich beim Erstellen in unterschiedlichen Zellen, dann können Sie das folgende VBA-Makro verwenden:
Sub AllSKU()
Dim model, myvariant, mysize, sku As String
Dim lRow As Long
Dim i As Integer
lRow = Cells(Rows.Count, 1).End(xlUp).Row 'Get the last row with data
model = Range("A2").Value
Range("E:E").Value = "" 'Clear Column E -- As it will be used for SKUs
Range("E" & 1).Value = "SKU"
For x = 2 To lRow
If Range("A" & x).Value <> "" Then 'Get model when cell is not empty
model = Range("A" & x)
End If
Range("E" & x).Value = model & "-" & Range("B" & x).Value & "-" & Range("C" & x).Value
Next
End Sub
Es durchläuft die Zellen und erstellt SKUs in Spalte E.