如果该名称不存在,则创建具有特定列名称的新工作表(Tab)

时间:2014-01-03 10:47:27

标签: excel vba excel-vba

我的Excel中包含员工姓名的主表TAB#1,其数据范围为B1:B100

当我在另一个工作表TAB#2中添加一个新的员工姓名时,其数据范围为C1:C50,该宏应在TAB#1中搜索数据范围为C1:C50的情况,如果TAB#2中已输入TAB#1中已输入的名称。它应创建一个新工作表,并使用TAB#2中给出的新员工姓名命名。

这可能吗?任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

试试这段代码。您需要将其添加到VBeditor的Tab #2表格中。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim inputRange As Range, names As Range, found As Range, ws As Worksheet

    Set inputRange = Worksheets("Tab #2").Range("C1:C50")
    Set names = Worksheets("Master").Range("B1:B100")

    If Not Intersect(Target, inputRange) Is Nothing Then
        Set found = names.Find(Target, LookIn:=xlValues)
        If found Is Nothing Then
            Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count))
            ws.name = Target
        End If
    End If
End Sub