自动创建工作表并从主工作表中填充数据

自动创建工作表并从主工作表中填充数据

我有一张sample以以下数据命名的工作表。

在此处输入图片描述

LOCATION    EMP_ID
INDIA       1234
INDIA       2345
INDIA       3456
USA         4567
USA         5678

我需要根据位置自动创建以位置名称为工作表的工作表,并在每张工作表中填充与该位置相对应的数据(包括标题)。

我尝试使用一些示例代码,并借助一些网站。我可以自动创建没有标题的工作表,并且每个工作表只有 1 行。如果每个位置有超过 1 行,则会引发错误。

这是我尝试过的代码。

Sub CreateTabs()

Dim sheetCount As Integer
Dim sheetName As String
Dim workbookCount As Integer

With ActiveWorkbook
 sheetCount = Sheets("sample").Range("A2").End(xlDown).Row
 For i = 2 To sheetCount Step 1
 sheetName = .Sheets("sample").Range("A" & i).Value
 workbookCount = .Worksheets.Count
 .Sheets.Add After:=Sheets(workbookCount)
 .Sheets(i).Name = sheetName
 .Sheets(i).Range("A2:B2").Value = .Sheets("sample").Range("A" & i, "B" & i).Value
 Next
 End With

Worksheets("sample").Activate

End Sub

感谢您的帮助。

答案1

不幸的是,您重复了 3 次工作表名称示例 India,您的代码在创建第一个工作表 INDIA 后不会检查它是否重复,它会继续创建第二个 INDIA 或任何重复的位置,这会导致工作表名称重复的错误并停止。更正您的代码以检查名称是否已存在或尝试不重复位置

相关内容