ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

批量新建工作表遇到难题,本来挺简单个事结果进行不下去了

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-2-7 08:51 | 显示全部楼层 |阅读模式
本帖最后由 糖↗小冷 于 2023-2-7 11:00 编辑

以 数据库 C列编码为新工作表名,以 1-Y033371093 为模板批量建立工作表

难题是因为写入了一个  关键控制单元格,  批量复制的时候先要 建立一个1-Y033371093(2)然后再按照数据库C列的名称命名,

问题就处在1-Y033371093(2) 这不一上,vlookup返回的数据不正确,控制单元格代码不执行,连锁反应批量工作表也不执行。

请老师帮忙看一看怎么解决。

TA的精华主题

TA的得分主题

发表于 2023-2-7 09:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 拆分()
Application.ScreenUpdating = False
Dim ar As Variant
Dim d As Object, dc As Object
Set d = CreateObject("scripting.dictionary")
Set sht = Sheets("模板")
Application.DisplayAlerts = False
For Each sh In Sheets
    If sh.Index > 3 Then sh.Delete
Next sh
Application.DisplayAlerts = True
With Sheets("数据库")
    r = .Cells(Rows.Count, 3).End(xlUp).Row
    If r < 3 Then MsgBox "数据库为空!": End
    ar = .Range("c2:c" & r)
End With
For i = 2 To UBound(ar)
    If Trim(ar(i, 1)) <> "" Then
        d(Trim(ar(i, 1))) = ""
    End If
Next i
For Each k In d.keys
    sht.Copy after:=Sheets(Sheets.Count)
    With ActiveSheet
        .Name = k
        .[c5] = k
    End With
Next k
Sheets("数据库").Select
Application.ScreenUpdating = True
MsgBox "ok!"
End Sub

TA的精华主题

TA的得分主题

发表于 2023-2-7 09:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-2-7 09:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-2-7 10:00 | 显示全部楼层
代码是就你目前的思路来写的,只是把工作表中C5单元格的公式改为代码写入,增加了一个模板工作表,
由于你的数据是通过大量公式来获取的,所以,代码运行的速度就大打折扣了,既然用代码了,为何不取消公式,直接通过代码把数据写入到相应的工作表内

TA的精华主题

TA的得分主题

发表于 2023-2-7 10:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
工程测量的数据关系到工程质量百年大计,你这样造假资料涉嫌违法的,你确定要这么干下去?

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-7 10:41 | 显示全部楼层
蓝桥玄霜 发表于 2023-2-7 10:05
工程测量的数据关系到工程质量百年大计,你这样造假资料涉嫌违法的,你确定要这么干下去?

你好,蓝老师,我做这个不用于工程资料, 是我们内部购买的测试新车,需要做数据模拟, 只是前面用了没有更改,我们需要把数据提出出来,导入到新的检测车内,测试他们软件的分析能力, 一张一张做数据量太大了,就想这么个注意能快速生成系统。感谢您的提醒,谢谢蓝老师

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-7 10:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
3190496160 发表于 2023-2-7 10:00
代码是就你目前的思路来写的,只是把工作表中C5单元格的公式改为代码写入,增加了一个模板工作表,
由于你 ...

感谢老师的帮助,有给我提供了更广泛的思路,谢谢您的辛勤付出,再次感谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-7 10:47 | 显示全部楼层

老师,您好, 自动控制单元格 那行代码您给注释了,后期复制出来的工作表不执行代码,无法完成对单元格的判断,这个怎么解决?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-7 10:53 | 显示全部楼层
糖↗小冷 发表于 2023-2-7 10:47
老师,您好, 自动控制单元格 那行代码您给注释了,后期复制出来的工作表不执行代码,无法完成对单元格的 ...

解决了,哈哈哈,把模板的公式 改一下,把注释去掉, 让 #n/a 等于固定值,感谢老师
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 10:26 , Processed in 0.047107 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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