Excel необходимо вывести значения подстроки в переменные

Я программист Oracle без знания или опыта VBA. Мне было предложено изменить некоторые макросы 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) 

Функция instr SQL может подсчитывать количество вхождений рассматриваемого элемента, но в VBA он может найти только первое место (из того, что я могу найти.) Я пробовал функцию Split VBA, но пока не сделал ее работу.

Как я могу извлечь то, что мне нужно, и назначить его переменной, которая будет использоваться в строках ниже?

Вы можете использовать split для разделения строки на массив, Split (ACCT_CODES, «/») (6) даст вам 7-й и (3) даст вам 4-й

Давайте будем гением компьютера.