Sub AA()
Dim I%, X%
Dim K As Boolean
Dim sht As Worksheet
For I = 1 To Sheets("操作表").Cells(Rows.Count, 1).End(xlUp).Row
K = False
For X = 1 To Sheets.Count
If UCase(Sheets("操作表").Cells(I, 1).Value) = UCase(Sheets(X).Name) Then
K = True
Exit For
End If
Next
If K = False Then
Set sht = Sheets.Add(after:=Sheets(Sheets.Count))
sht.Name = Sheets("操作表").Cells(I, 1).Value
End If
Next
End Sub
给你一个范本吧
解释几个可能你看不懂的操作
If UCase(Sheets("操作表").Cells(I, 1).Value) = UCase(Sheets(X).Name) Then
判断是否重名前加了Ucase 这个就避免了 因为大小写 造成的不能创建表格的错误
如图 XH3 和 xh3 如果纯文本比较 那么肯定是 不同的 但是在Ucase后 就是相同的
Set sht = Sheets.Add(after:=Sheets(Sheets.Count))
sht.Name = Sheets("操作表").Cells(I, 1).Value
同样是 创建表格 但是我把他赋值给了sht
这是为了方便改名字
在这里
你的sheets(sheets.count).name=xxx
跟是一样的效果
但是这种写法 如果你是插入在特定表格之后呢?
我是在创建的时候直接设定了变量 只要修改这个变量就是修改这个表格。
其次这种写法 在shape上面更为实用。
比如插入一张图片,excel 会给个名字 图像1 图像2 如果原来就有图片 你就不好确定刚才插入的叫什么名字。。
那么用类似的方法 就更容易知道我刚才插入的是哪一个shape