Excel精英培训网

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

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

  [复制链接]
发表于 2020-2-5 14:50 | 显示全部楼层

Sub 另存报表()
Dim wb As Workbook
Dim x As Integer
If Sheets.Count > 3 Then
For x = 1 To Sheets.Count - 2 Step 1
Sheets(x & "日报表").Copy
'Sheets(Sheets.Count - 2).Copy  这句为什么编译错误,显示worksheet copy 方式错误?
Set wb = ActiveWorkbook
wb.SaveAs ThisWorkbook.Path & "/" & x & "日报表.xlsx"
wb.Close True
Next x
Else
'MsgBox x & "份日报表工作簿已生成完成"  这句语句为什么没有执行?
End If
End Sub

能帮忙解答下吗?为感!

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2020-2-7 19:59 | 显示全部楼层
回复

使用道具 举报

发表于 2020-2-10 13:15 | 显示全部楼层
回复

使用道具 举报

发表于 2020-2-11 17:06 | 显示全部楼层
看看
回复

使用道具 举报

发表于 2020-2-13 23:02 | 显示全部楼层

Sub 日报表格式生成()
Dim x As Integer
        Sheets("日报表模板").Visible = True
        Sheets("日报表模板").Copy after:=Sheets(Sheets.Count)
        For x = 1 To Sheets.Count
            If Sheets(Sheets.Count - 1).Name = x & "日报表" Then
               Sheets(Sheets.Count).Name = x + 1 & "日报表"
               Sheets("日报表模板").Visible = False
               Sheets(1).Select
               Exit Sub
               End If
               Next
            Sheets(Sheets.Count).Name = "1日报表"
            Sheets("日报表模板").Visible = False
            Sheets(1).Select
End Sub
Sub 另存报表()
Dim x As Integer, y As Integer, wb As Workbook
    For x = 1 To Sheets.Count
        For y = 1 To Sheets.Count
            If Sheets(x).Name = y & "日报表" Then
            Sheets(x).Copy
            Set wb = ActiveWorkbook
            wb.SaveAs ThisWorkbook.Path & "/" & y & "日报表" & ".xls"
            wb.Close
            End If
            Next
            Next
End Sub

新人,不允许我用HIDE代码。。。。
回复

使用道具 举报

发表于 2020-2-14 17:49 | 显示全部楼层
Sub 日报表格式生成()
    Dim sh As Worksheet
        Dim y As Integer
      Sheets("日报表模板").Copy after:=Sheets(Sheets.Count)
      
       Set sh = ActiveSheet
           
        y = Sheets.Count
        y = y - 2
            
sh.Name = y & "日"
         
End Sub
回复

使用道具 举报

发表于 2020-2-17 21:41 | 显示全部楼层
1
回复

使用道具 举报

发表于 2020-2-18 21:57 | 显示全部楼层
学习一下
回复

使用道具 举报

发表于 2020-2-20 19:47 | 显示全部楼层
1111111
回复

使用道具 举报

发表于 2020-2-21 00:25 | 显示全部楼层
最近才开始学习兰色的VB,将题目答案上传如下:

自我感觉是实现了这个功能,但不知道对题目的理解是否正确,还请老师和各网友评判和指正,多谢!

  1. Sub 日报表格式生成()
  2.    Dim sht As Worksheet
  3.       Sheets("日报表模板").Visible = True
  4.       Sheets("日报表模板").Copy after:=Sheets(Sheets.Count)
  5.       Set sht = ActiveSheet
  6.          If Sheets.Count = 3 Then
  7.             sht.Name = "1日报表"
  8.          Else
  9.             sht.Name = Sheets.Count - 2 & "日报表"
  10.          End If
  11.       Sheets("日报表模板").Visible = False
  12.       Sheets("第1题").Select
  13. End Sub
复制代码
  1. Sub 另存报表()
  2.    Dim wb As Workbook, i As Integer
  3.    For i = 3 To Sheets.Count
  4.    Application.ScreenUpdating = False
  5.       Sheets(i).Copy
  6.       Set wb = ActiveWorkbook
  7.          wb.SaveAs ThisWorkbook.Path & "/" & ActiveSheet.Name & ".xls"
  8.          wb.Close
  9.    Next i
  10.    Application.ScreenUpdating = True
  11. End Sub
复制代码



回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 12:05 , Processed in 0.298485 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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