我是一个没有VBA知识或经验的Oracle程序员。我被要求修改一些Excel宏,这些宏是为我们从工资单提供商那里获得的报告编写的,以便更容易查看,然后搜索一些不同的场景。
工资提供程序更改了报告的布局,因此我需要相应地修改宏。
旧报告在员工的每一行上都有会计代码。新报告按会计代码对员工进行分组,这些代码列在三行中,下面的行数不同,并且指定给该会计代码的员工也不同。
会计代码由斜线字符分隔,因此看起来如下所示:
code1/code2/code3/code4/code5
code6/code7/code8/code9/
code10/code11/code12
EmployeeID Name (Last Name, First Name) Pos# EarnCode Earnings
N1234567 Messi, Leonardo 09876 LT1 $ 3,185.55
N2345678 Iniesta, Andreas 08765 REG $ 1,980.10
N3456789 Hernandez, Xavier 07654 REG $ 2,027.80
code1/code2/code3/code4/code5
code6/code7/code8/code9/
code10/code11/code12
EmployeeID Name (Last Name, First Name) Pos# EarnCode Earnings
N4567890 Hazard, Eden 06543 REG $ 2,187.15
N5678901 Fabregas, Cesc 05432 LT1 $ 1,875.60
N6789012 Terry, John, 04321 NBO $ 1,290.50
N7890123 Thibaut, Courtois 03219 REG $ 1,365.25我需要将code4和code7移动到它们下面的每个员工行的单独列中,然后在相应员工的会计代码发生更改时明显地更改变量值。如果是SQL,我将使用instr查找第三个斜杠的位置,然后获取下面的五个字符:
substr(instr(ACCT_CODES, '/', 3), 5)SQL的instr函数可以计算有问题的项的出现次数,但在VBA中它只能找到第一个位置(从我能找到的位置)。我已经尝试过VBA函数Split,但还没有让它工作。
如何提取我需要的内容,并将其分配给一个变量,以便在下面的行中使用?
发布于 2015-06-09 07:03:43
您可以使用split将一个字符串拆分成一个数组,Split(ACCT_CODES,"/")(6)将给出第7个数组,(3)将给出第4个数组
https://stackoverflow.com/questions/30718598
复制相似问题