|
本帖最后由 chwj110 于 2019-3-12 00:22 编辑
下面代码实现的就是将原表的涂红的工作表含内容复制过去,其他表会复制空表过去,现在是想要删除空表,但是按自己想的代码写会提示越界,只能将他判断为隐藏。有大神帮忙改善下么?途中箭头的方向
wb.Sheets(n).Delete 提示运行时错误9 下标越界
- <p>
- </p><p><div class="blockcode"><blockquote>Dim n&, sh As Worksheet, wb As Workbook
- n = Application.SheetsInNewWorkbook
- Application.SheetsInNewWorkbook = Sheets.Count
- Set wb = Workbooks.Add
- Application.SheetsInNewWorkbook = n
- n = 0
- With ThisWorkbook
- For Each sh In .Sheets
- n = n + 1
- 'If sh.Visible = -1 Then '注释掉复制全部
- If sh.Tab.Color = vbRed Then
- wb.Sheets(n).Name = sh.Name
- sh.UsedRange.Copy
- wb.Sheets(n).Range("a1").PasteSpecial xlPasteValuesAndNumberFormats
- wb.Sheets(n).Range("a1").PasteSpecial xlPasteColumnWidths
- wb.Sheets(n).Range("a1").PasteSpecial xlPasteFormats
- Else '注释掉复制全部
- '
- '↓
- '
- wb.Sheets(n).Visible = 2 '注释掉复制全部
- 'wb.Sheets(n).Delete
- '
- '↑
- '
- End If
- Next
- End With
- ActiveWorkbook.SaveAs ThisWorkbook.Path & "\基础表.xlsx"
- ActiveWorkbook.Close
复制代码
|
|