2011-04-08 7 views
0

다음 문제에 대해 Excel VBA에서 사용자 정의 함수를 만드는 데 전적으로 열중하고 있습니다. 어떤 도움이라도 대단히 감사하겠습니다. 내가 결정하는 기능을 원하는VBA를 사용하여 Excel에서 사용자 정의 함수를 만드는 데 도움이 필요합니다.

 A   B   C   D 
1  Susan  Reagan  Smith   
2  Jill  L  Taylor 
3  Sarah  Sullivan Williams 
4  Roger  J  Lopez 

:

내 엑셀 파일 (만 간결하게하기 위해 작은 부분을 추가)과 같다 A1 = 수잔 또는 질 또는 사라, 그리고 LEN (만약 난 때문에 VBA를 사용할

 A   B   C   D 
1  Susan  Reagan  Smith  Susan /2 Reagan Smith  
2  Jill  L  Taylor  Jill /2 Taylor 
3  Sarah  Sullivan Williams Sarah /2 Sullivan Williams 
4  Roger  J  Lopez  Roger /2 Lopez 

: 같이 B1의 문자열의 길이)> 1 THEN D1 = A1/2의 B1의 C1의 ELSE는 A1/2 C1

그래서 열 D의 출력을 보일 것이다 추가하고 할 많은 이름 중첩 된 if 문이 많은 셀 D1에 엄청난 공식이 필요하지는 않습니다. 나는 그 자체로 일해 왔지만 그것은 단지 난장판 일 뿐이며 여기에 게시하기에는 너무 당혹 스럽다. 고마워요!

답변

3
Public Function JoinNames(A, B, C) 
    If FirstNameMatches(A) And Len(B) > 1 Then 
     JoinNames = A & " /2 " & B & " " & C 
    Else 
     JoinNames = A & " /2 " & C 
    End If 
End Function 

Private Function FirstNameMatches(N) As Boolean 
    Select Case N 
     Case "Susan", "Jill", "Sarah" 
      FirstNameMatches = True 
    End Select 
End Function 
0

다른 시트의 이름 목록이 있습니다.

IF(ISNA(MATCH(A1, list_of_names, 0)), "Not found", "Found")을 사용하면 이름이 인식되는지 확인할 수 있습니다.

관련 문제