尝试复制单元格值并根据单元格值重命名该工作表。单元格将包含蜇/整数 以下代码在重命名工作表时弹出错误
Sub Button1_Click()
'Set datasheet = Application.ActiveSheet
Dim row As Integer
Dim col As Integer
row = 3
Column = 12
Do Until Sheets("BOM").Cells(row, Column) = ""
Sheets("Blank").Select
Application.DisplayAlerts = False
Sheets("Blank").Copy After:=Sheets(1)
Application.DisplayAlerts = False
Sheets("BOM").Select
Sheets("Blank (2)").Select
Sheets("Blank (2)").name = Cells(row, Column).Value ==> Code breaks here
row = row + 1
Loop
End Sub
答案 0 :(得分:0)
由于以下
,您很可能会收到错误消息您的新工作表名称为空白。
您的新工作表名称是> 31个字符。
它包含以下任何字符: \ / ? * [ or ]
其中任何一种都没有解决方法。只需确保您的新名称是有效的字符串。
答案 1 :(得分:0)
的Dinesh, 您收到该错误的原因是因为您试图为工作表提供一个空名称(新创建的工作表的单元格(3,12),当然,它将始终为空)。要解决此问题,您可以执行以下两种操作之一:从包含另一个工作表中的值的单元格中提取名称,或者在Sheets(“Blank(2)”)中放置一个值。设置之前的单元格(行,列)名字。两种选择如下:
Sub Button1_Click()
'Set datasheet = Application.ActiveSheet
Dim row As Integer
Dim col As Integer
row = 3
Column = 12
Do Until Sheets("BOM").Cells(row, Column) = ""
Sheets("Blank").Select
Application.DisplayAlerts = False
Sheets("Blank").Copy After:=Sheets(1)
Application.DisplayAlerts = False
Sheets("BOM").Select
Sheets("Blank (2)").Select
Sheets("Blank (2)").Cells(row, Column).Value = "Some_Sheet_Name" ' <--Option #2
Sheets("Blank (2)").Name = Cells(row, Column).Value ' <--Option #2
' Sheets("Blank (2)").Name = Sheets("BOM").Cells(row, Column).Value ' <--Option #1
row = row + 1
Loop
End Sub
如果您有任何其他问题,请不要犹豫。