【VBA】创建工作簿自定义函数

4 篇文章 0 订阅

自定义创建工作簿,可以指定创建的工作簿有几个工作表(有更简单的方法,比如设置Application.SheetsInNewWorkbook = sheet_num后再设置回来)

第二个自定义函数是方便以某一工作表创建后直接赋值工作簿

'创建工作簿,指定有多少个工作表
Function CreateWorkbook(Optional ByVal sheet_num As Integer = 1) As Workbook
    Dim n As Integer, count As Integer, diff As Integer
    Dim wb As Workbook
    
    Set wb = Workbooks.Add
    count = wb.Sheets.count
    If count < sheet_num Then
        Do Until count = sheet_num
            wb.Sheets.Add After:=wb.Sheets(count)
            count = count + 1
        Loop
    Else
      Application.DisplayAlerts = False
        Do Until count = sheet_num
            wb.Sheets(count).Delete
            count = count - 1
        Loop
      Application.DisplayAlerts = True
    End If
    '
    Set CreateWorkbook = wb
End Function

'复制某一工作表创建工作簿
Function CreateWorkbookFromSheet(sh As Worksheet)
  Dim wb As Workbook
  
  Set wb = CreateWorkbook(1)
  sh.Copy After:=wb.Sheets(1)
  Application.DisplayAlerts = False
  wb.Sheets(1).Delete
  Application.DisplayAlerts = True
  Set CreateWorkbookFromSheet = wb
End Function
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值