Excel需要将子字符串值拉到变量

时间:2015-06-08 20:35:31

标签: excel vba excel-vba

我是一名没有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但是没有使它工作爱好。

如何提取我需要的内容并将其分配给下面行中使用的变量?

1 个答案:

答案 0 :(得分:0)

你可以使用split将一个字符串拆分成一个数组,Split(ACCT_CODES,“/”)(6)会给你第7个,(3)会给你第4个