ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

【求助】根据指定条件对应的行生成单独的excel文件

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-6-23 22:30 | 显示全部楼层
1.在第一个sheet(客户录入)中录入客户信息,然后点按钮 (录入客户) ,客户信息就分别录入到 sheet(客户总表、来访明细表、客户总台账 )中,但客户总台账中很多客户信息是缺失的。(这一部分我已经写完了)
2.需要将sheet(客户总台账)中按置业顾问的名字以及日期来筛选对应的行,复制到一个以置业顾问名字命名的新的excel表中,置业顾问填完信息后再将这些表里面的客户信息录入到 ”来访登记表“中sheet(客户总台账)对应客户的行。

第2部分我写了些,但不对。。。搞不定了。。。
Sub Button9_Click()

Dim num, num1, y
Dim x As Integer
Dim i As Integer

n = 3

Application.ScreenUpdating = False
num = Sheets("基础信息").Application.WorksheetFunction.CountA(Columns(2))
num1 = Sheets("客户总台账").Application.WorksheetFunction.CountA(Columns(2))

For i = 2 To num
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets("基础信息").Range("b" & i)
Sheets("客户总台账").Rows("1:2").Copy Sheets(Sheets.Count).Cells(1, 1)

For x = 3 To num1
If Sheets("客户总台账").Cells(x, 3) = Sheets("基础信息").Cells(i, 2) Then
Sheets("客户总台账").Cells(x, 3).EntireRow.Copy Sheets(Sheets.Count).Rows(n)
Sheets(Sheets.Count).Cells(n, 1).Select
Selection.ClearContents
n = n + 1
End If
Next x
n = 3
Next i

Application.ScreenUpdating = True

End Sub

来访登记表2.xlsm.zip

58.04 KB, 下载次数: 1

TA的精华主题

TA的得分主题

发表于 2020-6-24 05:26 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
yango1 发表于 2020-6-23 22:22
1.客户信息录入到第一个sheet中,点按钮”录入客户“,客户信息录入会分别录入到”客户总表、来访明细表、 ...


客户录入的功能我已经写完了,拆分表我自己写了个,但只能形成新的sheet

新工作薄需要 一个 模板 activeworkbook.saveas,可参考下文
http://club.excelhome.net/forum. ... 2%B9%A4%D7%F7%B1%A1

每天合并一次还好,如果实时同步性比较高,需要随时查询可能需要如下的在线表单。
http://club.excelhome.net/forum. ... 1520437&mobile=

还有,mac不支持字典,sql。只能数组循环的方式,后期如果数据量大可能会出现运行缓慢或者卡死,需要注意。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-6-24 09:06 | 显示全部楼层
zpy2 发表于 2020-6-24 05:26
客户录入的功能我已经写完了,拆分表我自己写了个,但只能形成新的sheet

新工作薄需要 一个 模板 ac ...

http://files.c.excelhome.net/for ... g6yyy1g90ky6o76.png

请问这个用的是什么在线云文档呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-6-24 10:20 | 显示全部楼层
zpy2 发表于 2020-6-24 05:26
客户录入的功能我已经写完了,拆分表我自己写了个,但只能形成新的sheet

新工作薄需要 一个 模板 ac ...

大神,按您给的参考我修改了代码,但在生成新的sheet时有错,不知道怎么解决,能帮忙看下吗?谢谢

Sub Button9_Click()

Application.DisplayAlerts = False
Application.ScreenUpdating = False

Dim num, num1, y
Dim x As Integer
Dim i As Integer

num = Sheets("基础信息").Range("A65536").Offset(0, 1).End(xlUp).Row
num1 = Sheets("客户总台账").Range("A65536").Offset(0, 1).End(xlUp).Row

Sheets("台账模板").Select
For i = 2 To num
sales = Sheets("基础信息").Cells(i, 2).Value

n = Sheets("台账模板").[A65536].End(xlUp).Row + 1
For x = 3 To num1
If Sheets("客户总台账").Cells(x, 3).Value = sales Then
Sheets("客户总台账").Cells(x, 3).EntireRow.Copy Sheets("台账模板").Rows(n)
n = n + 1
End If
Next x
ActiveSheet.Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "/Users/carterqin/Desktop/sale/" & sales & ".xlsx"
ActiveWorkbook.Close
Next i

Application.ScreenUpdating = True

End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-6-24 10:21 | 显示全部楼层
zpy2 发表于 2020-6-24 05:26
客户录入的功能我已经写完了,拆分表我自己写了个,但只能形成新的sheet

新工作薄需要 一个 模板 ac ...

另外您发的在线表单是用的什么网页呢?谢谢

TA的精华主题

TA的得分主题

发表于 2020-6-24 19:14 来自手机 | 显示全部楼层
yango1 发表于 2020-6-24 10:21
另外您发的在线表单是用的什么网页呢?谢谢

VBA我现在不在电脑上,无法调试。
在线表单可以扫描下面的二维码看看。
Screenshot_2020-06-24-19-10-08.png
Screenshot_2020-06-24-19-09-50.png
鑱斿浘浜岀淮鐮
Screenshot_2020-06-24-19-05-23.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-5 08:11 , Processed in 0.022392 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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