excel - 删除工作表错误“下标超出范围”
问题描述
我有 2 张名为选项卡 1 和选项卡 2 的工作表。我正在使用以下选项卡 2 中的条目创建工作表:
Sub copyeachrowtosheets()
Dim i As Integer
Dim j As Integer
Dim z As String
Dim y As Integer
Dim x As String
Dim h As Worksheet
Dim k As Integer
Dim l As String
Dim m As String
i = Sheets(2).Cells(Rows.Count, "A").End(xlUp).Row
y = 2
For j = 1 To (i - 1)
z = "A" & y
x = "M" & y
k = ActiveWorkbook.Sheets.Count
m = "B" & y
l = Sheets(2).Range(m).Value
Set h = ThisWorkbook.Sheets.Add(after:=Sheets(k))
h.Name = l
Sheets(2).Range("A1:M1").Copy Destination:=ActiveSheet.Range("A1")
y = y + 1
Next j
End Sub
now if i want to delete all the created sheets using vba, i made the below:
Sub deletesheetsspecific()
Dim i As Integer
Dim j As Integer
'Dim x As Integer
Application.DisplayAlerts = False
i = ActiveWorkbook.Sheets.Count
For j = 1 To i
Dim k As String
k = VBA.left(Sheets(j).Name, 3)
If k <> "tab" Then
ActiveWorkbook.Sheets(j).delete
End If
Next j
Application.DisplayAlerts = True
End Sub
它只是随机删除几张纸,然后在“k = VBA.left(Sheets(j).Name, 3)”行给出错误“运行时错误:下标超出范围”。如果我再次单击运行,它会删除更多的工作表然后同样的错误。
谁能告诉我我在这里做错了什么?
解决方案
推荐阅读
- python - Python指数运算符和乘法
- docker - docker-compose 配置多项目 nginx
- javascript - 如何从 JavaScript 中的另一个键合并数组键值
- beautifulsoup - BeautifulSoup 从表中提取数据但是当字段为空时它不会注意到它
- java - 当通过 For 循环返回 List 时,无法在 Java 中将 List 转换为 Map
- laravel - 如何从 vue 组件和引导程序 4 更改正文背景颜色
- python - pip list 命令显示 tensorflow 已安装,但无法导入
- javascript - jQuery 代码 .load、.scroll、.ready 等效 Vanilla Javascript 代码
- python - 我收到 PermissionError: [Errno 13] Permission denied while reading a file in folder created after save voices through multer
- javascript - 为什么我的悬停效果和图像以不同的速度上升和下降?