如何删除工作簿中的空工作表 [英] How to delete empty worksheets in a workbook

查看:90
本文介绍了如何删除工作簿中的空工作表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每个月我都会从我们的数据库中运行一个大型数据文件,以便通过来自多个不同位置的序列号识别制造缺陷。 一旦我下载数据,我的工作簿将有几个空白的工作表,每个月将根据缺陷更改
。  一旦我构建了我的工作簿,我的工作表将始终按照相同的顺序"组SN, A1A SN,A2A SN,A3A SN等"。 我想要完成的是,对于示例位置A2A工作表本月为空,
一旦我开始运行我的宏,它将需要从第一个工作表开始,按顺序从组SN开始,在A1A旁边,一旦达到A2A,就会重新标记为空白页,删除并移至A3A。  

Each month I run a large data file from our data base to identify manufactoring defect by serial numbers from several different locations.  Once I pull down the data my workbook will have several blank worksheets that will change month to month depending on defects.  Once I build my workbook my worksheets will always be in the same order "Group SNs, A1A SNs, A2A SNs, A3A SNs, and so on".  What I'm trying to accomplish is, for example location A2A work sheet is empty this month, Once I start running my macro it will need start with the first worksheet in order beginning with Group SNs, next to A1A, once it reaches A2A reconiges it's a blank sheet, deletes and move onto A3A.  

任何帮助都会得到很大的帮助。

Any help will be greatly appricated.

Application.Run" SN_Sort"

    表格("Serial_Numbers")。选择

   表格("Serial_Numbers")。名称="组SNs"

    ActiveWindow.ScrollWorkbookTabs位置:= xlFirst

   表格("Page1-2")。选择

    ActiveWindow.SelectedSheets.Delete

   

   表格("A1A")。选择

    Application.Run" SN_Sort"

   表格("Serial_Numbers")。选择

   表格("Serial_Numbers")。姓名=" A1A SNs" b
    ActiveWindow.ScrollWorkbookTabs位置:= xlFirst

   表格("A1A")。选择

    ActiveWindow.SelectedSheets.Delete

   

   

   表格("A2A")。选择

    Application.Run" SN_Sort"

   表格("Serial_Numbers")。选择

   表格("Serial_Numbers")。名称=" A2A SNs" b
    ActiveWindow.ScrollWorkbookTabs位置:= xlFirst

   表格("A2A")。选择

    ActiveWindow.SelectedSheets.Delete

   

   

   表格("A3A")。选择

    Application.Run" SN_Sort"

   表格("Serial_Numbers")。选择

   表格("Serial_Numbers")。名称=" A3A SNs" b
    ActiveWindow.ScrollWorkbookTabs位置:= xlFirst

   表格("A3A")。选择

    ActiveWindow.SelectedSheets.Delete

    

    

     ;   

        

  

End Sub

Application.Run "SN_Sort"
    Sheets("Serial_Numbers").Select
    Sheets("Serial_Numbers").Name = "Group SNs"
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Sheets("Page1-2").Select
    ActiveWindow.SelectedSheets.Delete
   
    Sheets("A1A").Select
    Application.Run "SN_Sort"
    Sheets("Serial_Numbers").Select
    Sheets("Serial_Numbers").Name = "A1A SNs"
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Sheets("A1A").Select
    ActiveWindow.SelectedSheets.Delete
   
   
    Sheets("A2A").Select
    Application.Run "SN_Sort"
    Sheets("Serial_Numbers").Select
    Sheets("Serial_Numbers").Name = "A2A SNs"
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Sheets("A2A").Select
    ActiveWindow.SelectedSheets.Delete
   
   
    Sheets("A3A").Select
    Application.Run "SN_Sort"
    Sheets("Serial_Numbers").Select
    Sheets("Serial_Numbers").Name = "A3A SNs"
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Sheets("A3A").Select
    ActiveWindow.SelectedSheets.Delete
    
    
      
        
  
End Sub

推荐答案

如果我错了,请纠正我,但我认为你真的在寻找for是如何检测工作表是否为空...

Correct me if I'm wrong, but I think all you really are looking for is how to detect if a worksheet is empty...

尝试:

 

如果ActiveSheet.Cells.Count<> 0然后

If ActiveSheet.Cells.Count <> 0 Then

 

或:

 

如果IsEmpty(ActiveSheet.UsedRange)那么

If IsEmpty(ActiveSheet.UsedRange) Then

 

希望这有帮助!

  ;

-Paul

 


这篇关于如何删除工作簿中的空工作表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆