複数のバリエーションとサイズを持つことができる製品があります。値を取得して連結し、製品 SKU を作成できるマクロが必要です。たとえば、製品は 1234 です。バリエーションは ABF、PLC、MKLN、XTR です。サイズは 30、36 などです。列の値を使用して、マクロですべてのバリエーションを作成する必要があります。したがって、最終的な製品は 1234-30-ABF、1234-30-PLC、1234-30-MKLN など、および 1234-36-ABF、1234-36-PLC などになります。これらの値は列で提供できます。列を読み取り、& または concat 関数を使用してループでマクロを実行する必要があります。値を提供します。マクロ VBA を試しましたが、concat 関数で変数を使用できません。助けてください。
ActiveCell.FormulaR1C1 = "=Sheet2!RC&""-""&Sheet2!RC[3]&"".""&""FR"""
答え1
ベース モデルが列 A にあり、バリアントが列 B にあり、サイズが列 C にあり、作成時の SKU が異なるセルにあると仮定すると、次の VBA マクロを使用できます。
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
セルをループし、列 E に SKU を作成します。