Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6161|回复: 11

[已解决]自动另存指定文件夹里

[复制链接]
发表于 2013-1-9 15:10 | 显示全部楼层 |阅读模式
10学分
请老师们帮帮忙

自动另存指定文件夹里
1、电子表格里已经有个代码(宏),是随机生成1-12范围内6个不重复的数字。
2、按次电子表格界面里的“按钮1”就生成一次数据。
3、生成数据后要保存(另存为在指定文件里)一次,需要100份,这样要重复上面步骤,很麻烦。
如上所述:能否修改代码,按次电子表格界面里的“按钮1”就生成一次数据,并自动另存指定文件夹里;文件名以保存时间保存或者用1~100为文件名。
最佳答案
2013-1-9 20:20
  1. Sub Macro1()
  2.     'Randomize Timer
  3.     Dim x, y, z, x1 As Integer
  4.    For x1 = 1 To 100
  5.     Dim wb As Workbook
  6.     Dim a(7) As Byte
  7.     Set wb = ThisWorkbook
  8.     For x = 3 To [N2] + 1
  9.     Cells(x, 1) = "第" & x - 2 & "组"
  10.     For y = 2 To 7
  11. 10:  a(y) = Int(Rnd() * 12) + 1
  12.     For z = 2 To y - 1
  13.     If a(z) = a(y) Then GoTo 10
  14.     Next
  15.     Cells(x, y) = a(y)
  16.     Next
  17.     Next
  18.    
  19.     If Len(Dir("C:\Documents and Settings\Administrator\桌面" & x1 & ".xls")) = 0 Then
  20.       wb.Save
  21.       wb.SaveCopyAs "C:\Documents and Settings\Administrator\桌面" & x1 & ".xls"
  22.     End If
  23.     Next
  24. End Sub
复制代码
看看这样如何

自动另存指定文件夹里.rar

11.93 KB, 下载次数: 22

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-1-9 15:38 | 显示全部楼层
本帖最后由 zjdh 于 2013-1-9 15:47 编辑

1-12范围的不重复随机数.rar (10.86 KB, 下载次数: 12)

评分

参与人数 1 +1 收起 理由
心之浩然 + 1 很给力

查看全部评分

回复

使用道具 举报

发表于 2013-1-9 15:43 | 显示全部楼层
  1. Sub Macro1()
  2.     'Randomize Timer
  3.     Dim x, y, z, x1 As Integer
  4.     Dim wb As Workbook
  5.     Dim a(7) As Byte
  6.     Set wb = ThisWorkbook
  7.     For x = 3 To [N2] + 1
  8.     Cells(x, 1) = "第" & x - 2 & "组"
  9.     For y = 2 To 7
  10. 10:  a(y) = Int(Rnd() * 12) + 1
  11.     For z = 2 To y - 1
  12.     If a(z) = a(y) Then GoTo 10
  13.     Next
  14.     Cells(x, y) = a(y)
  15.     Next
  16.     Next
  17.     For x1 = 1 To 100
  18.     If Len(Dir("C:\Documents and Settings\Administrator\桌面" & x1 & ".xls")) = 0 Then
  19.       wb.Save
  20.       wb.SaveCopyAs "C:\Documents and Settings\Administrator\桌面" & x1 & ".xls"
  21.       Exit Sub
  22.     End If
  23.     Next
  24. End Sub
复制代码
看看是否合您的意

2.zip

11.01 KB, 下载次数: 9

回复

使用道具 举报

发表于 2013-1-9 15:45 | 显示全部楼层
本帖最后由 hwc2ycy 于 2013-1-9 15:54 编辑
  1. Sub SaveFiles()
  2.     Dim Path$, i As Byte, FilExt$, FileName$
  3.     FilExt = Split(ThisWorkbook.Name, ".")(1)
  4.     With Application.FileDialog(msoFileDialogFolderPicker)
  5.         .Show
  6.         If .SelectedItems.Count = 1 Then
  7.             Path = .SelectedItems(1)
  8.         End If
  9.     End With
  10.     If Len(Path) = 0 Then MsgBox "请先选择要保存的位置": Exit Sub
  11.     Application.ScreenUpdating = False
  12.     ThisWorkbook.Save
  13.     For i = 1 To 100
  14.         FileName = Path & "" & i & "." & FilExt
  15.         ThisWorkbook.SaveCopyAs FileName
  16.         Application.StatusBar = FileName
  17.     Next
  18.     Application.ScreenUpdating = True
  19.     Application.StatusBar = ""
  20.     MsgBox "备份完成"
  21. End Sub
复制代码
回复

使用道具 举报

发表于 2013-1-9 15:56 | 显示全部楼层
你这100个备份,我电脑还真是吃不消了,
回复

使用道具 举报

 楼主| 发表于 2013-1-9 18:21 | 显示全部楼层
zjdh 发表于 2013-1-9 15:38
生成文件存放在同一目录下。

非常感谢!
你的代码只是自动另存1~100,但是我要100份,就要按下“按钮”100次,这样也很麻烦,能否按下“按钮”就自动生成100份文件在指定文件夹里。
谢谢!
回复

使用道具 举报

 楼主| 发表于 2013-1-9 18:23 | 显示全部楼层
rinyxa 发表于 2013-1-9 15:43
看看是否合您的意

非常感谢!
你的代码只是自动另存1~100,但是我要100份,就要按下“按钮”100次,这样也很麻烦,能否按下“按钮”就自动生成100份文件在指定文件夹里。
谢谢
回复

使用道具 举报

发表于 2013-1-9 20:20 | 显示全部楼层    本楼为最佳答案   
  1. Sub Macro1()
  2.     'Randomize Timer
  3.     Dim x, y, z, x1 As Integer
  4.    For x1 = 1 To 100
  5.     Dim wb As Workbook
  6.     Dim a(7) As Byte
  7.     Set wb = ThisWorkbook
  8.     For x = 3 To [N2] + 1
  9.     Cells(x, 1) = "第" & x - 2 & "组"
  10.     For y = 2 To 7
  11. 10:  a(y) = Int(Rnd() * 12) + 1
  12.     For z = 2 To y - 1
  13.     If a(z) = a(y) Then GoTo 10
  14.     Next
  15.     Cells(x, y) = a(y)
  16.     Next
  17.     Next
  18.    
  19.     If Len(Dir("C:\Documents and Settings\Administrator\桌面" & x1 & ".xls")) = 0 Then
  20.       wb.Save
  21.       wb.SaveCopyAs "C:\Documents and Settings\Administrator\桌面" & x1 & ".xls"
  22.     End If
  23.     Next
  24. End Sub
复制代码
看看这样如何

2.zip

11.05 KB, 下载次数: 3

回复

使用道具 举报

发表于 2013-1-9 20:50 | 显示全部楼层
本帖最后由 zjdh 于 2013-1-9 20:55 编辑
pjy07 发表于 2013-1-9 18:23
非常感谢!
你的代码只是自动另存1~100,但是我要100份,就要按下“按钮”100次,这样也很麻烦,能否按下 ...


你试过没有??!!
填写需要的份数,按一次按钮全部生成啊!!并且内容各不相同!!
就是1000份也只要按一次!!!
回复

使用道具 举报

 楼主| 发表于 2013-1-11 17:08 | 显示全部楼层
rinyxa 发表于 2013-1-9 20:20
看看这样如何

非常感谢!
非常感谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-26 16:46 , Processed in 0.174656 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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