For j = 1 To UniqueItems(ActiveSheet.Range(TrN_col & "2:" & TrN_col & LastTrN), True)
With Workbook
Worksheets.Add().Name = UniqueItems(ActiveSheet.Range(TrN_col & "2:" & TrN_col & LastTrN), False)(j)
End With
Next j
UniqueItems()
是一个函数,它将列中唯一项的数量作为数组返回。目前我正在使用的数据列中有两个独特的项目。如果我使用MsgBox()
函数,我会得到两个独特的项目。这让我觉得在添加新工作表后,子程序以某种方式被转义。
有什么想法吗?
编辑:
换句话说,我如何获得excel来激活最近创建的工作表?
答案 0 :(得分:1)
添加新工作表时,它将成为活动工作表。迭代一次....您将在空工作表上评估uniqueitems
。
我会重构uniqueitems
来返回一个集合或字典,而不是你正在做的事情。
结果看起来像是:
Dim list as Dictionary
set list = UniqueItems(ActiveSheet.Range(TrN_col & "2:" & TrN_col & LastTrN))
For each key in list.keys
worksheets.add().name = key
next