BankDailyAuto 帮用户自动抽取数据
来源:互联网 发布:编程语言的发展方向 编辑:程序博客网 时间:2024/06/06 20:05
近期帮用户自动抽取数据写的宏。
'WXHWYD'This macro is for sorting data automatically only for Cummins casher'Stones create on 2017/6/16'Sub BankDailyAuto()Sub AutoBankDaily() On Error GoTo ErrHandle 'stop screen-updating for user so program runs more fast Application.ScreenUpdating = False 'total line number of DataSource Dim TotalLineNum As Integer 'last index of DataSource Dim LastRowNum As Integer 'vender name Dim VendorName As String 'description Dim Description As String 'each row of transaction type in DataSource sheet Dim eachRowTranctionType As String 'each row of Additional Comments in DataSource sheet Dim eachRowAdditionalComments As String 'each row of ORDP row index Dim ORDPeachRowIndex As Integer 'each row of REMI row index Dim REMIeachRowIndex As Integer 'each row of BEMN row index Dim BEMNeachRowIndex As Integer 'lenth of each row 's Addition Comments Dim LenOfAdditionComt As Integer 'select "DataSource" sheet Sheets("DataSource").Select LastRowNum = 1 Do While Range("A" & LastRowNum).Value <> "" LastRowNum = LastRowNum + 1 Loop 'get total line number of DataSource TotalLineNum = LastRowNum - 2 'judge if user pasted data in DataSource sheet If TotalLineNum <= 0 Then MsgBox "please paste data in DataSource Sheet!" Exit Sub End If 'get absolute value at column T Range("T2").Select ActiveCell.FormulaR1C1 = "=ABS(RC[-5])" Selection.AutoFill Destination:=Range("T2:T" & (LastRowNum - 1)) 'get absolute value at column U Range("U2").Select ActiveCell.FormulaR1C1 = "=ABS(RC[-5])" Selection.AutoFill Destination:=Range("U2:U" & (LastRowNum - 1)) Range("T2:U" & (LastRowNum - 1)).Copy Sheets("Result").Select Range("I3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'clear temp data column T and column U in DataSource sheet Sheets("DataSource").Select Range("T2:" & "U" & (LastRowNum - 1)).Select Selection.ClearContents 'copy "Post Date" to 'Date' in sheet result from sheet Datasource Range("S2:" & "S" & (LastRowNum - 1)).Copy Sheets("Result").Select Range("A3").PasteSpecial xlPasteValues Application.CutCopyMode = False Sheets("DataSource").Select 'traverse datasource for each row For DataSourceRowIndex = 1 To TotalLineNum 'get column "Mark" value '1.If Transaction Type is TFR+ then insert into Type Mark as 'Collections' in destination sheet. '2.If Transaction Type is TFR- and addition comments contain 'BENM' then insert into Type Mark as 'E-banking' in destination sheet. '3.If Transaction Type is TFR- and addition comments don’t contain 'BENM' then insert into Type Mark as 'Auto-payment' in destination sheet. 'Column "W" is Vender Name 'Column "X" is Description eachRowTranctionType = Range("M" & (DataSourceRowIndex + 1)).Value eachRowAdditionalComments = Range("K" & (DataSourceRowIndex + 1)).Value LenOfAdditionComt = Len(eachRowAdditionalComments) If eachRowTranctionType = "TFR+" Then 'get column "Mark" value Range("V" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = "Collections" '"ORDP" If JG_ContainString(eachRowAdditionalComments, "ORDP") = "Y" Then ORDPeachRowIndex = InStr(eachRowAdditionalComments, "/ORDP/") '"REMI" If JG_ContainString(eachRowAdditionalComments, "REMI") = "Y" Then REMIeachRowIndex = InStr(eachRowAdditionalComments, "/REMI/") Range("W" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = Mid(eachRowAdditionalComments, ORDPeachRowIndex + 6, REMIeachRowIndex - ORDPeachRowIndex - 6) Range("X" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = Mid(eachRowAdditionalComments, REMIeachRowIndex + 6) Else Range("W" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = Mid(eachRowAdditionalComments, ORDPeachRowIndex + 6) End If Else Range("W" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = eachRowAdditionalComments End If End If If eachRowTranctionType = "TFR-" Then If JG_ContainString(eachRowAdditionalComments, "BENM") = "Y" Then BENMeachRowIndex = InStr(eachRowAdditionalComments, "/BENM/") '"REMI" If JG_ContainString(eachRowAdditionalComments, "REMI") = "Y" Then REMIeachRowIndex = InStr(eachRowAdditionalComments, "/REMI/") Range("W" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = Mid(eachRowAdditionalComments, BENMeachRowIndex + 6, REMIeachRowIndex - BENMeachRowIndex - 6) Range("X" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = Mid(eachRowAdditionalComments, REMIeachRowIndex + 6) Else Range("W" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = Mid(eachRowAdditionalComments, BENMeachRowIndex + 6) End If 'get column "Mark" value Range("V" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = "E-banking" Else Range("W" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = eachRowAdditionalComments 'get column "Mark" value Range("V" & (DataSourceRowIndex + 1)).Select ActiveCell.FormulaR1C1 = "Auto-payment" End If End If Next Range("V2:V" & (LastRowNum - 1)).Copy Sheets("Result").Select Range("C3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("DataSource").Select Range("W2:W" & (LastRowNum - 1)).Copy Sheets("Result").Select Range("F3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("DataSource").Select Range("X2:X" & (LastRowNum - 1)).Copy Sheets("Result").Select Range("G3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'clear temp data column T and column U in DataSource sheet Sheets("DataSource").Select Range("V2:" & "X" & (LastRowNum - 1)).Select Selection.ClearContentsErrHandle: MsgBox "There is unexpected error .Please contact the administrator Stones Zhang ND936"End SubPublic Function JG_ContainString(SourceString As String, ContainString As String) As String If InStr(SourceString, ContainString) <> 0 Then JG_ContainString = "Y" Else JG_ContainString = "N"End Function
阅读全文
1 0
- BankDailyAuto 帮用户自动抽取数据
- 数据抽取
- Healthrageous:个性化数据帮用户控制病情并降低费用
- SEO实战:用户数据整合帮你快进排名
- Kettle数据抽取---增量抽取
- oracle自动备份用户数据
- 帮你自动填账号密码的黑科技,安卓用户的专属福利
- 宽带离网用户分析(2) 数据预处理和特征抽取
- Structure数据抽取异常
- 数据抽取,转换,加载
- ETL(数据抽取)[转]
- ssis数据增量抽取
- 数据抽取问题记录
- ETL(数据抽取)
- ETL数据抽取策略
- BW抽取数据错误。
- LO数据抽取步骤
- 随机抽取数据
- C++类的函数重载和函数重写探究
- Android 消息机制之ThreadLocal的工作原理
- js获取服务器路径
- maven项目 图片验证码
- FTP新建用户指定访问目录
- BankDailyAuto 帮用户自动抽取数据
- 第一篇儿
- 超级绵羊异或
- bootstrap modal垂直居中(转)
- SpringBoot-02热部署
- 右键 powershell here 功能添加
- Java使用JDBC连接mysql、sqlserver、orcle数据库的baseDao类
- 最全的运营数据指标解读
- 各种远程通信协议分析、比较