ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] Excel如何新建文件并命名

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-3-31 10:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请参考附件。。。

文件资料2.rar

16.65 KB, 下载次数: 5

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-31 10:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ykcbf1100 发表于 2024-3-31 10:09
附件供参考。。。

另外,请教一下

文件名后面加上今天的日期,代码怎么改?
fn = "资料清单"

按钮那块用的是宏吗?

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-3-31 11:02 | 显示全部楼层
梵蒂冈2022 发表于 2024-3-31 10:21
另外,请教一下

文件名后面加上今天的日期,代码怎么改?

...........

文件资料2.rar

16.97 KB, 下载次数: 5

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-3-31 11:58 | 显示全部楼层
  1. Sub test()
  2.   Dim i&
  3.   Dim arr, brr
  4.   Dim d As Object
  5.   Set d = CreateObject("scripting.dictionary")
  6.   Application.ScreenUpdating = False
  7.   t = Timer
  8.   With Worksheets("原始数据")
  9.     arr = .Range("a1").CurrentRegion
  10.   End With
  11.   For i = 2 To UBound(arr) - 1
  12.     kk = Split(arr(i, 2), "-")
  13.     If Not d.exists(kk(0)) Then
  14.             ReDim brr(1 To 2)
  15.             brr(1) = kk(0)
  16.         Else
  17.             brr = d(kk(0))
  18.         End If
  19.         brr(2) = brr(2) + arr(i, 3)
  20.        d(kk(0)) = brr
  21.   Next
  22.     ReDim arr(1 To d.Count, 1 To 3)
  23.     For Each aa In d.keys
  24.         brr = d(aa)
  25.         n = n + 1
  26.         For i = 1 To UBound(brr)
  27.             arr(n, 1) = n
  28.             arr(n, i + 1) = brr(i)
  29.         Next
  30.     Next
  31.     With Worksheets("输出表")
  32.         .Range("a2").Resize(.Rows.Count - 1, 4).ClearContents
  33.         .Range("a2").Resize(UBound(arr), UBound(arr, 2)) = arr
  34.     End With
  35.     Application.ScreenUpdating = True
  36.     MsgBox Format(Timer - t, "0.00") & "秒 输出完毕!"
  37. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2024-3-31 12:01 | 显示全部楼层
看看是不是这样

文件资料.rar

18.85 KB, 下载次数: 1

TA的精华主题

TA的得分主题

发表于 2024-3-31 12:11 | 显示全部楼层
  1. Sub test()
  2.   Dim i&
  3.   Dim arr, brr
  4.   Dim d As Object
  5.   Set d = CreateObject("scripting.dictionary")
  6.   Application.ScreenUpdating = False
  7.   t = Timer
  8.   With Worksheets("原始数据")
  9.     arr = .Range("a1").CurrentRegion
  10.   End With
  11.   For i = 2 To UBound(arr) - 1
  12.     kk = Split(arr(i, 2), "-")
  13.     If Not d.exists(kk(0)) Then
  14.             ReDim brr(1 To 2)
  15.             brr(1) = kk(0)
  16.         Else
  17.             brr = d(kk(0))
  18.         End If
  19.         brr(2) = brr(2) + arr(i, 3)
  20.        d(kk(0)) = brr
  21.   Next
  22.     ReDim arr(1 To d.Count, 1 To 3)
  23.     For Each aa In d.keys
  24.         brr = d(aa)
  25.         n = n + 1
  26.         For i = 1 To UBound(brr)
  27.             arr(n, 1) = n
  28.             arr(n, i + 1) = brr(i)
  29.         Next
  30.     Next
  31.     With Worksheets("输出表")
  32.         .Range("a2").Resize(.Rows.Count - 1, 4).ClearContents
  33.         .Range("a2").Resize(UBound(arr), UBound(arr, 2)) = arr
  34.     End With
  35.     Sheets("输出表").Select
  36.     Sheets("输出表").Copy
  37.     ChDir "E:\BaiduNetdiskWorkspace\data\Excel Home" '目录自己换
  38.     ActiveWorkbook.SaveAs Filename:= _
  39.         "E:\BaiduNetdiskWorkspace\data\Excel Home\资料清单.xlsx", FileFormat:= _
  40.         xlOpenXMLWorkbook, CreateBackup:=False
  41.     Application.ScreenUpdating = True
  42.     MsgBox Format(Timer - t, "0.00") & "秒 输出完毕!"
  43. End Sub
复制代码

文件资料.rar

20.96 KB, 下载次数: 2

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-31 17:54 | 显示全部楼层
本帖最后由 梵蒂冈2022 于 2024-3-31 18:16 编辑
ykcbf1100 发表于 2024-3-31 10:09
附件供参考。。。

更新
---------------------------------------------------------
麻烦更新一下程序,如果生成文件时,先前生成的文件被开着,提供需要关闭老文件,谢谢
也就是先将生成的文件删除,然后生成新的,谢谢

TA的精华主题

TA的得分主题

发表于 2024-3-31 18:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 ykcbf1100 于 2024-3-31 18:25 编辑
梵蒂冈2022 发表于 2024-3-31 17:54
更新
---------------------------------------------------------
麻烦更新一下程序,如果生成文件时 ...

加上日期。

文件资料2.7z

15.74 KB, 下载次数: 9

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-31 20:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

谢谢~~谢谢~~

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-3 08:37 | 显示全部楼层

你好,

使用下来有个小bug,

如果新文件处于打开状态,程序就会报错,

这个情况能否给个提示,然后终止程序,不报错?谢谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 07:55 , Processed in 0.051888 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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