Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 兰色幻想

VBA80集第10集练习上交专贴(正确答案奖励20金币)

  [复制链接]
发表于 2020-9-24 09:17 | 显示全部楼层
Sub displayallsheets()

Dim wsh As Worksheet

    For Each wsh In ActiveWorkbook.Worksheets

         wsh.Visible = xlSheetVisible

    Next

End Sub




Sub creatingnewsheets()

Dim i As Integer
Dim xnumber As Integer
Dim wsh As Worksheet


xnumber = InputBox("请输入你想添加的天数")

For i = 1 To xnumber
    Sheets("日报表模板").Copy after:=Sheets("日报表模板")
    ActiveSheet.Name = "day" & i
    ActiveSheet.Move after:=Sheets(Sheets.Count)

Next i

Sheets("日报表模板").Visible = False

End Sub





Sub saveasnewworkbook()

Dim wb As Workbook
Dim i As Integer

'MsgBox ActiveSheet.Index

For i = 3 To Sheets.Count

       Sheets(i).Copy

       Set wb = ActiveWorkbook
       wb.SaveAs Filename:=ThisWorkbook.Path & "/" & ActiveSheet.Name & "xlsx"
       wb.Close True

Next i

End Sub



回复

使用道具 举报

发表于 2020-9-24 12:35 | 显示全部楼层
回复

使用道具 举报

发表于 2020-10-23 21:02 | 显示全部楼层
回复

使用道具 举报

发表于 2020-11-13 10:25 | 显示全部楼层
我也来交作业了

Sub 日报表格式生成()
    Dim i&
    Sheets("日报表模板").Visible = -1
    For i = 1 To 5
        Sheets("日报表模板").Copy after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = Val(LeftB(Sheets(Sheets.Count - 1).Name, 2)) + 1 & "日报表"
    Next
    Sheets("日报表模板").Visible = 0
End Sub

Sub 另存报表()
    Dim sht As Worksheet, wb As Workbook
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
            For Each sht In Sheets
                If Left(sht.Name, 1) Like "#" Then
                    sht.Copy
                    Set wb = ActiveWorkbook
                    wb.SaveAs ThisWorkbook.Path & "/" & sht.Name
                    wb.Close True
                End If
            Next
        Application.DisplayAlerts = True
        Application.ScreenUpdating = True
End Sub

Sub 删除工作表()
    Dim sht As Worksheet
        For Each sht In Sheets
            Application.DisplayAlerts = False
                If Left(sht.Name, 1) Like "#" Then sht.Delete
            Application.DisplayAlerts = True
        Next
End Sub
回复

使用道具 举报

发表于 2020-11-14 21:15 | 显示全部楼层

回复

使用道具 举报

发表于 2020-11-17 09:27 | 显示全部楼层
for循环不执行,来偷瞄答案
回复

使用道具 举报

发表于 2020-11-18 13:09 | 显示全部楼层
本帖最后由 longpie1 于 2020-11-18 13:11 编辑

Option Explicit
Dim n As Integer
Sub 日报表格式生成()
    Dim sh As Worksheet
    Sheets("日报表模板").Visible = True
    Sheets("日报表模板").Copy after:=Sheets(Sheets.Count)
    Set sh = ActiveSheet
    n = n + 1
    sh.Name = n & "日报表"
    Sheets("日报表模板").Visible = False
End Sub

Sub 另存报表()
    Dim sh As Worksheet
    Dim wb As Workbook
    n = -1
    For Each sh In Worksheets
        If sh.Name = n & "日报表" Then
            Sheets(n & "日报表").Copy
            Set wb = ActiveWorkbook
            wb.SaveAs ThisWorkbook.Path & "/" & n & "日报表.xls"
            wb.Close True
        End If
        n = n + 1
    Next sh
End Sub
回复

使用道具 举报

发表于 2020-11-23 20:35 | 显示全部楼层
学习
回复

使用道具 举报

发表于 2020-12-4 17:12 | 显示全部楼层
想学习 快速学习啦
回复

使用道具 举报

发表于 2020-12-18 10:31 | 显示全部楼层
学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-29 17:06 , Processed in 0.359781 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表