ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享]工作表按条件分开!(可以为表内,也可为表外)2005-10-21更新

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2005-12-4 12:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
很具有实用性的

TA的精华主题

TA的得分主题

发表于 2005-12-22 10:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
很实用啊.收藏先!!!以后偶可以省下许多事了!!谢谢分享~~~~~~~~

TA的精华主题

TA的得分主题

发表于 2005-12-26 14:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-12-26 17:55 | 显示全部楼层

只有叹服的成分!

没有看最新的代码就18楼的代码一行行的运转了一次发现:

不明白的:为什么要加文本标识符?而且按我的运行,这个符号是运行在原来的总表上的,而不是复制出来的表上,到时最后又来一个删除好象是没必要似的!

里面还有些函数是不明白的,你还看这个贴时能答一下吗?

复制的代码如下:里面加了我的理解!

Sub hjs()
Dim irow As Integer, irow1 As Integer, i As Integer, j As Integer
Dim H As New Collection
Dim sht As Worksheet
Dim A
Dim ICol

Set A = ActiveCell
Application.ScreenUpdating = False
Application.DisplayAlerts = False '这是做到了删除工作表时不用回答表!
For Each sht In Sheets
If sht.Name <> "总表" Then sht.Delete '删除所有分表
Next

Sheets("总表").Copy Before:=Sheets(1) '加入新表来操作,以防破坏原数据中的公式或格式

ICol = Application.InputBox("请输入你所要分的列:(如按B列分请输入2)", "提示:", "2", Type:=1)
If ICol = "" Then Exit Sub

On Error Resume Next
With Sheets("总表 (2)")
irow = .[a1].CurrentRegion.Rows.Count '选择整张表,A1这当前活动
'就连续的这一片的行数,出现了空行时不能处理!'
'为什么只取一块就行?确实未有处理空行分开的问题
' 但这个数量代表什么却不太清楚,整个范围的行数?!


For i = 2 To irow
Cells(i, ICol) = "'" & Cells(i, ICol) '在原工作表生成文本符号

'标识要分列列单元?但这个符号看不见!.作用???
'这是在总表中做的而非在复制表做的
'为什么用了with后仍能在操作其它表,电脑是如何分别的?
Next

For i = 2 To irow

H.Add .Cells(i, ICol), CStr(.Cells(i, ICol))
'如何理集合的使用 cstr是什么函数?
'也是在总表而非复制表中做的?,刚才的本作用是不是为这个而为?
Next '建立一个不重复的筛选条件


For i = 1 To H.Count
'H.Count形成集合后就已分类为类数?
'前面有.的就表是前的with的?
.Cells.AutoFilter field:=ICol, Criteria1:=H(i)
'选择第ICol自动筛选条件是集合(i)

Sheets.Add(after:=Sheets(Sheets.Count)).Name = H(i)
'加表并加名!是向后加表?

.[a1].CurrentRegion.Copy Sheets(CStr(H(i))).[a1] '自动筛选,并复制到新建的表中
'此种复制语句的表达要学会, 且表名的表述特别

irow1 = [a1].CurrentRegion.Rows.Count '此时是那个表?新表,还是复制后的表?结果是一的?
'从后的看来,想要的是应为新的复制表!,但有否可能不是?
For j = 2 To irow1

Cells(j, ICol) = Right(Cells(j, ICol), Len(Cells(j, ICol))) '消除新工作表文本符号

'新工作表根本没有文本符!何来消除?因为之前的文本符全是在总表中加入而非复制后的总表!
'而据新复制表所得的,自然就没有符号可言了!
Next j


.Cells.AutoFilter '此处为将原来的自动筛选除去,只是为了下次循环时不会再出现不能筛选的情况!

Debug.Print H(i) '不明白其中的意思

Next i

.Delete '操作表此时已多余,故删除
End With

A.Parent.Activate '激活汇总表的原来激活的单元格
A.Activate '这个用法不明白但可理解其义

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

TA的精华主题

TA的得分主题

发表于 2005-12-26 18:48 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-12-26 19:26 | 显示全部楼层
谢谢,很有用的,但我要看懂这些代码才能用于工作上!

TA的精华主题

TA的得分主题

发表于 2006-2-10 14:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
好东西,能大大提高效率

TA的精华主题

TA的得分主题

发表于 2006-2-16 01:33 | 显示全部楼层
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂███頂頂頂頂頂
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂██████████頂頂頂頂
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂████████████████頂頂頂頂
頂頂頂頂頂頂頂頂頂頂████頂頂██████████頂頂頂頂頂頂頂頂頂
頂頂頂頂頂頂████████頂頂██頂頂頂████頂頂頂頂頂頂頂頂頂頂
頂█████████████頂頂頂頂頂頂頂███頂頂頂頂頂頂頂頂頂頂頂
頂███████████頂頂頂頂頂頂頂頂█████████頂頂頂頂頂頂
頂頂█████████頂頂頂頂頂頂頂頂████████████頂頂頂頂
頂頂頂█頂頂頂████頂頂頂頂頂頂████頂頂頂頂頂█████頂頂頂頂
頂頂頂頂頂頂頂頂███頂頂頂頂頂頂██頂頂頂█頂頂頂頂███頂頂頂頂頂
頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂頂██頂頂頂███頂頂頂頂頂
頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂頂██頂頂頂███頂頂頂頂頂
頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂███頂頂頂███頂頂頂頂頂
頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂███頂頂頂███頂頂頂頂頂
頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂███頂頂頂███頂頂頂頂頂
頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂███頂頂頂███頂頂頂頂頂
頂頂頂頂頂頂頂頂███頂頂頂頂頂██頂頂頂██頂頂頂頂███頂頂頂頂頂
頂頂頂頂頂頂頂頂███頂頂頂頂頂██頂頂頂██頂頂頂頂███頂頂頂頂頂
頂頂頂████████頂頂頂頂頂頂█頂頂██頂頂頂頂████頂頂頂頂頂
頂頂頂頂███████頂頂頂頂頂頂頂頂頂██頂頂█頂頂頂██頂頂頂頂頂
頂頂頂頂頂頂█████頂頂頂頂頂頂頂頂███頂頂████頂頂頂頂頂頂頂
頂頂頂頂頂頂頂頂███頂頂頂頂頂頂頂████頂頂頂██████頂頂頂頂
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂█████頂頂頂頂頂██████頂頂頂
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂████頂頂頂頂頂頂頂頂█████頂頂頂
頂頂頂頂頂頂頂頂頂頂頂頂頂█████頂頂頂頂頂頂頂頂頂頂████頂頂頂
頂頂頂頂頂頂頂頂頂頂頂頂██頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂██頂頂頂頂
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂

TA的精华主题

TA的得分主题

发表于 2006-3-15 21:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2006-3-17 19:29 | 显示全部楼层
Long_III老师 你好,你的东西简直太实用了,我看了一下,你在34楼发表的附件有点问题,复制的第一张表的最后一行与第二个表的第一行老是相同的,也就是重复.像你这样的东西简直太让人喜欢了.全身心去关注.
[此贴子已经被作者于2006-3-17 19:31:42编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-16 14:41 , Processed in 0.036556 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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