ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6395|回复: 13

[求助] 批量另存

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-9-29 21:10 | 显示全部楼层 |阅读模式
制作一个宏,要求复制单元格B2的内容20到原文件.XLS中BOM工作表中A3单元格,并以该单元格A3里的内 容为名称,也就是20,另存到明细文件夹里,然后再复制单元格B3的内容19到原文件.XLS中BOM工作表中A3单元格,并以该单元格A3里的内 容为名称,也就是19,另存到明细文件夹里,依次执行.
注意:每次宏执行可以选择从多少行开始到多少行结束,也就是可以从序号5开始到序号10结束,也可以从序号3开始到序号11结束,这个可以自由选择.

批量制作.rar

6.67 KB, 下载次数: 39

TA的精华主题

TA的得分主题

发表于 2012-9-29 21:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
试试看
  1. Sub test()
  2.     Dim ar, i&, istart&, istop&
  3.     On Error Resume Next
  4.     istart = InputBox("请输入起始值", "起始值") + 1
  5.     istop = InputBox("请输入结束值", "结束值") + 1
  6.     ar = Sheet1.Range("a1").CurrentRegion
  7.     Workbooks.Open ThisWorkbook.Path & "\原文件.xls"
  8.     With Workbooks("原文件.xls").Sheets("BOM")
  9.         For i = istart To istop
  10.             .Range("a3") = ar(i, 2)
  11.             ActiveWorkbook.SaveAs ThisWorkbook.Path & "\明细" & ar(i, 2) & ".xls"
  12.         Next
  13.     End With
  14.     ActiveWorkbook.Close
  15. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2012-9-29 21:52 | 显示全部楼层
  1. Sub Macro1()
  2.     Dim FirstRow, LastRow, arr, i&, f$, p1$, p$, lr&
  3.     Dim cnn As Object, SQL$, t
  4.     p1 = ThisWorkbook.Path & ""
  5.     f = p1 & "原文件.xls"
  6.     lr = Range("a65536").End(xlUp).Row - 1
  7.     Do
  8.         FirstRow = InputBox(Prompt:="请输入开始序号:>=1且<=" & lr, Title:="输入开始序号", Default:=1)
  9.         If StrPtr(FirstRow) = 0 Then Exit Sub
  10.     Loop Until Val(FirstRow) > 0 And Val(FirstRow) <= lr
  11.     Do
  12.         LastRow = InputBox(Prompt:="请输入结束序号:>=" & FirstRow & "且<=" & lr, Title:="输入结束序号", Default:=lr)
  13.         If StrPtr(LastRow) = 0 Then Exit Sub
  14.     Loop Until Val(LastRow) >= FirstRow And Val(LastRow) <= lr
  15.     arr = Range("a" & FirstRow + 1).Resize(lr - FirstRow + 1, 2)
  16.     For i = 1 To UBound(arr)
  17.         If Len(arr(i, 2)) Then
  18.             p = p1 & "明细" & arr(i, 2) & ".xls"
  19.             If Dir(p) <> "" Then Kill p
  20.             FileCopy f, p
  21.             Set cnn = CreateObject("ADODB.Connection")
  22.             cnn.Open "Provider = Microsoft.Jet.Oledb.4.0;Extended Properties ='Excel 8.0;hdr=no';Data Source =" & p
  23.             If IsNumeric(arr(i, 2)) Then
  24.                 t = arr(i, 2)
  25.             Else
  26.                 t = "'" & arr(i, 2) & "'"
  27.             End If
  28.             SQL = "update [BOM$a3:a3] set f1 =" & t
  29.             cnn.Execute SQL
  30.         End If
  31.     Next
  32.     cnn.Close
  33.     Set cnn = Nothing
  34.     MsgBox "ok"
  35. End Sub
  36. 请测试:
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-9-29 21:56 | 显示全部楼层
请看附件
批量制作.rar (14.81 KB, 下载次数: 84)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-30 07:35 | 显示全部楼层
zhaogang1960 发表于 2012-9-29 21:56
请看附件

非常感谢,问题解决了.另个有时间帮忙看一下这个问题:http://club.excelhome.net/thread-926660-1-1.html谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-4 17:30 | 显示全部楼层
zhaogang1960 发表于 2012-9-29 21:56
请看附件

在家里的电脑测试没有问题,公司的两台电脑都出现问题,不管输入的序号是多少,都另存全部的序号。能帮忙看看是什么问题

TA的精华主题

TA的得分主题

发表于 2012-10-4 17:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zggdszsjwfb 发表于 2012-10-4 17:30
在家里的电脑测试没有问题,公司的两台电脑都出现问题,不管输入的序号是多少,都另存全部的序号。能帮忙 ...

估计你在公司的附件有问题,请上传出问题的附件分析一下

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-4 20:54 | 显示全部楼层
zhaogang1960 发表于 2012-10-4 17:43
估计你在公司的附件有问题,请上传出问题的附件分析一下

是上次上传的同一个附件。在家里的电脑测试可以,公司的电脑就不行。不知为什么?

TA的精华主题

TA的得分主题

发表于 2012-10-4 21:28 | 显示全部楼层
zggdszsjwfb 发表于 2012-10-4 20:54
是上次上传的同一个附件。在家里的电脑测试可以,公司的电脑就不行。不知为什么?

是cnn.Open ……这一句出错?可能不支持ADO,使用2楼代码吧

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-4 22:00 | 显示全部楼层
zhaogang1960 发表于 2012-10-4 21:28
是cnn.Open ……这一句出错?可能不支持ADO,使用2楼代码吧

运行时不显示出错,只是不管输入的序号是多少,都另存全部的序号,明天到公司试一下2楼的代码。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-27 05:39 , Processed in 0.036055 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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