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

Vba Excel需要将子字符串值拉入变量,vba,excel,Vba,Excel,我是一个没有VBA知识或经验的Oracle程序员。我被要求修改一些Excel宏,这些宏是为我们从工资单提供商处获得的报告编写的,以便于查看和搜索一些不同的场景 工资单提供商更改了报告的布局,因此我需要相应地修改宏 旧报告的每一行都有员工的会计代码。新报告按会计代码对员工进行分组,代码列在三行上,下面的行数不同,分配给该会计代码的员工也不同 会计代码由斜杠字符分隔,因此如下所示: code1/code2/code3/code4/code5 code6/code7/code8/code9/ code

我是一个没有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
substr(instr(ACCT_CODES, '/', 3), 5)
我需要将code4和code7移动到下面每个员工行的单独列中,然后当相应员工的会计代码更改时,明显地更改变量值。如果是SQL,我将使用instr查找第三个斜杠的位置,然后取下面五个字符,如下所示:

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
substr(instr(ACCT_CODES, '/', 3), 5)
SQL的instr函数可以计算相关项的出现次数,但在VBA中,它只能找到第一个位置(从我能找到的位置)。我尝试了VBA函数拆分,但尚未使其工作


如何提取所需内容并将其分配给要在以下行中使用的变量

您可以使用split将字符串拆分为数组,split(会计代码“/”)将为您提供第7个,而(3)将为您提供第4个

您可以使用split将字符串拆分为数组,split(会计代码“/”)将为您提供第7个,而(3)将为您提供第4个