|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
先谢过各位老师了,内容有些乱:)也应该有很多小白错误,望见谅,VBA还没入门,之前大量都是用函数进行操作,目前表内很多代码都是东拼西凑网上查的,但最后成品各种出错解决无力了,跪谢先。大致表格描述如下:
这个表试图进行一些个人数据的处理,首先将得到的原始数据整体复制到数据表,原始数据格式可能是有一定混乱的,需要在校验表内按列首关键字从数据表内汇总过去(目前是只做了将ID从数据表导到校验表对应ID列,其他数据按照如果ID有数据则用 hlookup函数导,但模拟表内没放函数,涉及数据太多直接删了。。)
此后要将校验表内数据按照关键字C和ID放入输出1表的A列(C)和B列(ID)
并且校验表内A到O列数据粘贴数值到输出2表格的A2-O列结束(这部分数据其实都是一样的,只是为了实现仅粘贴数值,额,突然发现这部分不用一个个套用Intersect,整体赋值就可以了,自己汗一个,请无视校验表内代码,这个自己能搞定- -)
目前的问题是:
1. 数据表内得到数据没问题,后续都正常,但是如果是清空删除数据,数据表就会跳错了。
以下两个问题目前是在尝试Worksheet_Change解决,也就是表内数据变化自动执行一次查找替换来保证数据格式统一,(是不是事件的触发也不是能处理所有代码的?)不知道大神们有思路和想法。
2. 身份证可能有小写x,需要将输出1和输出2表内的身份证小写x统一成大写X(这个目前是录制了宏通过按钮实现的,之前在输出1和输出2表内用以下代码当数据表一粘贴就报错,单独测试就没问题)
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then
Target.Value = UCase(Target.Value)
End If
End Sub
3. 这个也是一个查找替换的问题,是希望数据表得到数据就将日期格式内可能含有的特殊字符,像”"空格". - / 年 月 日()“去除,目前用的是录制的(b- -我也知道很笨很冗长),但是录制的这个碰上worksheet_change也是无法运行(若有相关数据倒是会改过去,没有的话就跳错)..这个也希望大神们帮忙看下有办法解决么
Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:=".", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="-", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="/", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="年", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="月", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="日", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
总结,好吧,最主要是问题1,问题2和3如果无法实现获取数据自动检查更正的话最多做按钮丑些也是可以完成的- -,再次不甚感激。
|
|