Scott은 Excel에서 주어진 셀의 모든 문자 사이에 대시를 자동으로 추가하는 방법을 궁금해합니다. 예를 들어 A1 셀에 “house”가 포함 된 경우 Scott은이를 “h-o-u-s-e”로 변환하려고합니다.

이것은 공식으로 할 수 있지만 금방 다루기 어려워집니다. 예를 들어, 다음 수식을 사용하여 A1 셀에 입력하는 문자 사이에 대시를 넣을 수 있습니다.

=CHOOSE(LEN(A1),A1,LEFT(A1,1) & "-" & RIGHT(A1,1), LEFT(A1,1) & "-" & MID(A1,2,1) & "-" & RIGHT(A1,1), LEFT(A1,1) & "-" & MID(A1,2,1) & "-" & MID(A1,3,1) & "-"

& RIGHT(A1,1),LEFT(A1,1) & "-" & MID(A1,2,1) & "-"

& MID(A1,3,1) & "-" & MID(A1,4,1) & "-" & RIGHT(A1,1), LEFT(A1,1) & "-" & MID(A1,2,1) & "-" & MID(A1,3,1)

& "-" & MID(A1,4,1) & "-" & MID(A1,5,1) & "-" & RIGHT(A1,1))

이 특정 수식 예제는 최대 6 자 길이의 텍스트에서만 작동합니다. 따라서 “집”에는 제대로 작동하지만 “가정”에는 제대로 작동하지 않습니다. 공식은 길어질 수 있지만 다시 금방 매우 길어질 것입니다.

더 나은 접근 방식은 매크로를 사용하여 변환하는 것입니다. 대시를 셀에 바로 삽입하려면 다음과 같은 매크로를 사용할 수 있습니다.

Sub AddDashes1()

Dim Cell As Range     Dim sTemp As String     Dim C As Integer

For Each Cell In Selection         sTemp = ""

For C = 1 To Len(Cell)

sTemp = sTemp + Mid(Cell, C, 1) + "-"

Next         Cell.Value = Left(sTemp, Len(sTemp) - 1)

Next End Sub

이 매크로는 선택한 셀 범위에서 사용하도록 설계되었습니다. 변환 할 셀을 선택한 다음 매크로를 실행하기 만하면됩니다. 셀의 각 문자 사이에 대시가 추가됩니다.

원래 셀 값을 수정하지 않으려면 작업을 수행하는 사용자 정의 함수를 만들 수 있습니다.

Function AddDashes2(Src As String) As String     Dim sTemp As String     Dim C As Integer

Application.Volatile     sTemp = ""

For C = 1 To Len(Src)

sTemp = sTemp + Mid(Src, C, 1) + "-"

Next     AddDashes2 = Left(sTemp, Len(sTemp) - 1)

End Function

이 함수를 사용하려면 워크 시트에서 다음을 사용합니다.

=AddDashes2(A1)

함수가 좀 더 강력한 지 확인하려면 여러 단어를 처리하도록 수정할 수 있습니다. 이러한 경우 공백을 “대시 가능한 문자”로 취급하지 않을 것입니다. 예를 들어, 루틴이 “one two”에 대시를 추가하여 “o-n-e- -t-w-o”대신 “o-n-e t-w-o”로 표시되도록 할 수 있습니다. 함수에 대한 다음 변형이 트릭을 수행합니다.

Function AddDashes3(Src As String) As String     Dim sTemp As String     Dim C As Integer

Application.Volatile     sTemp = ""

For C = 1 To Len(Src)

sTemp = sTemp + Mid(Src, C, 1)

If Mid(Src, C, 1) <> " " And           Mid(Src, C + 1, 1) <> " " And           C < Len(Src) Then             sTemp = sTemp + "-"

End If     Next     AddDashes3 = sTemp End Function

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (9633)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.

link : / excelribbon-Adding_Dashes_between_Letters [문자 사이에 대시 추가].