2015-02-20 2 views
0

i am beginner in excel vba У меня есть огромный список, в котором первое имя и фамилия в одном столбце без какого-либо пробела или символа, а также какое-то имя находятся в основном алфавите, а некоторые не имеют алфавита капитала, и они являются одним и тем же столбцом, popossible макрос, чтобы освободить место batween их ... или любой возможный путь ....Как создать макрос, чтобы получить несколько значений?

спасибо заранее ....

+0

Что вы пробовали? Мы не можем помочь с кодом VBA, если мы не сможем увидеть код! –

ответ

1

Не надежно, но вы получите там простые имена. Выберите диапазон имен и запустите макрос.

Sub InsertSpacesInNames() 
Dim pos As Long: pos = 0 
Dim uc As Long: uc = 0 
For Each cell In Selection 
For i = 1 To Len(cell.Value) 
If Asc((Mid(cell.Value, i, 1))) >= 65 And Asc((Mid(cell.Value, i, 1))) <= 90 Then 
uc = uc + 1 
pos = i 
End If 
Next i 
If uc = 2 Then 
cell.Value = Mid(cell.Value, 1, pos - 1) & " " & Mid(cell.Value, pos, Len(cell.Value)) 
End If 
uc = 0 
pos = 0 
Next 
End Sub 

Мой выход:

enter image description here

Этот макрос будет работать хорошо, если и только если:

  1. вы используете его с простыми именами (без сложных имен, как Jean -PierreLeCosteau Желаемый результат: Jean-Pierre LeCosteau)
  2. полное имя имеет только две заглавные буквы.
+0

Большое спасибо. он работает :) –

+0

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

1

Предполагая, что вы знаете, первое имя, то простой пример с использованием формул:

 A    B 
1 AmandaWinslet = "Amanda" & " " & RIGHT(A1, LEN(A1) - LEN("Amanda"))) // result is Amanda Winslet 

Способ VBA в этом отношении:

Sub AddSpace() 
    Range("A1") = "Amanda" & " " & VBA.Right$(Range("A1"), Len(Range("A1")) - Len("Amanda")) 
End Sub 

Вам нужно будет перевернуть список в VBA и сделать FirstName переменной. Ваше сообщение предполагает, что у вас есть имя от где-то

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