2015-11-27 2 views
1

Использование VBA для работы, у меня уже есть код, который анализирует файл Word, выделяет необходимые ему аспекты и преобразует их в формат Excel.Поиск столбца текста из файла Word и отображение соты, смежной

Мы назначаем задачи людям в файле Word, файл и код устанавливаются таким образом, чтобы он распознавал, кто несет ответственность за эту задачу, например. Joe. У нас много сотрудников, и я хочу, чтобы сценарий мог искать любое имя, которое он выбрал из списка в одном столбце, найти ячейку, в которой находится это имя, а затем отображать данные в ячейке, непосредственно прилегающей к ней.

В настоящее время код содержит много людей, помещенных вручную в циклы, если Joe присутствует, а затем отображает usernameJoe.

Я имею имена пользователей и имена раскол в таблице на книги структурирован:

Name  Username 
Joe A  ajoe 
Jack B  bjack 
John C  cjohn 
...    ... 

Хотя мой код работает при помещении индивидуально в петлях:

Joe responsible? 
      If InStr(current_action.resp, "Joe") <> 0 Then 


       ' assigning to online account 
       current_action.resp = "ajoe" 

создание 85 петель длинный процесс и в постоянно меняющемся рабочем месте слишком затянутый.

Выбранное имя в коде обозначено как current_action.resp.

+0

Вы можете откатить. – pnuts

ответ

0

Вы должны использовать массив и петля на нем:

Sub test_Mugiwara_Luffy() 

Dim PersonS(), _ 
    i As Long, _ 
    NameS() As String 

ReDim PersonS(1 To 85, 1 To 2) 

PersonS(1, 1) = "Joe A" 
PersonS(2, 1) = "Jack B" 
PersonS(3, 1) = "John C" 
'.... 

For i = LBound(PersonS, 1) To UBound(PersonS, 1) 
    If Len(PersonS(i, 1)) >= 5 And InStr(1, PersonS(i, 1), " ") Then 
     NameS = Split(PersonS(i, 1), " ") 
     PersonS(i, 2) = LCase(Left(NameS(UBound(NameS)), 1) & NameS(LBound(NameS))) 
    Else 
    End If 
    If InStr(current_action.resp, PersonS(i, 1)) Then 
     ' assigning to online account 
     current_action.resp = PersonS(i, 2) 
    Else 
    End If 
Next i 

End Sub 
+0

Спасибо R3uK, это сработало! Я думал об этом! Спасибо – mugiwara

+0

@mugiwara Рад, что я мог помочь! Потратьте минутку на экскурсию и посмотреть, как принимать ответы и использовать голоса: http://stackoverflow.com/tour – R3uK

Смежные вопросы