我在 A2:A21 中有一个产品列表(A1:M1 是标题栏)。这些产品后面是 12 位可以维修这些产品的所有者(B2:M21)的姓名。但是……并非所有所有者都可以维修每件产品。这就是为什么会有空单元格。我想创建一个自动的第二张工作表,其中包含相同的产品列表,但现在只有一个所有者,从可用的所有者中选择。我还希望选择被平等分配。这样所有所有者都有相同数量的产品(或尽可能接近)。谢谢!
答案1
答案2
假设我们从以下开始:
以下宏首先将第一列复制到第二张表。然后,宏从第一个产品开始(手机)并扫描从列开始的列乙寻找“X”。找到“X”后,所有者将转到第二张表。
然后宏将向下移动到第二个产品(充电器)并重复扫描各个列。但现在它从列开始C而不是列乙...这是为了帮助均匀分配所有者。以下是宏:
Sub Owner()
Dim s1 As Worksheet, s2 As Worksheet
Dim i As Long, j As Long
Set s1 = Sheets("Sheet1")
Set s2 = Sheets("Sheet2")
s1.Range("A:A").Copy s2.Range("A1")
j = 2
For i = 2 To 21
loopit:
If s1.Cells(i, j) = "X" Then
s2.Cells(i, 2).Value = s1.Cells(1, j).Value
j = j + 1
If j = 14 Then j = 2
GoTo exloopit
Else
j = j + 1
If j = 14 Then j = 2
End If
GoTo loopit
exloopit:
Next i
End Sub
以下是输出表的示例: