이 기사에서는 VBA를 사용하여 원하는 사용자 지정 숫자 형식으로 주어진 데이터의 형식을 지정하는 매크로를 만듭니다.

이 예의 원시 데이터는 영업 팀 데이터로 구성됩니다. 원시 데이터에는 이름, 제품 ID, 제품 가격, 판매 수량 및 총 판매량이 포함됩니다.

ArrowRawData

매크로를 실행하기 전에 P 열에 사용자 지정 숫자 형식을 지정하고 Q 열에 사용자 지정 숫자 형식을 적용하려는 열 번호를 지정해야합니다.

“포맷”버튼을 클릭하여 “포맷”매크로를 실행합니다.

ArrowAfterRunningMacro

매크로는 지정된 사용자 지정 숫자 형식에 따라 주어진 데이터의 형식을 변경합니다.

논리 설명

이 매크로는 P 열에서 숫자 형식을 선택하고 Q 열의 열 번호로 지정된 열에 숫자 형식을 할당합니다.

이 매크로에서는 루핑을 위해 두 개의 DO UNTIL 루프를 사용합니다. 첫 번째 DO UNTIL 루프는 모든 숫자 형식이 열에 적용될 때까지 반복하는 데 사용됩니다. 두 번째 DO UNTIL 루프는 지정되고 쉼표 (,)로 구분 된 모든 다른 열 번호를 찾는 데 사용됩니다.

코드 설명

strCol = Left (txt, InStr (txt, “,”)-1)

위 코드는 쉼표 (,)로 구분 된 모든 열 번호를 포함하는 문자열에서 열 번호를 분리하는 데 사용됩니다.

Columns (CInt (strCol)). NumberFormat = wks.Cells (intRow, 16) .Value 위 코드는 지정된 열에 사용자 지정 숫자 형식을 적용하는 데 사용됩니다.

txt = Right (txt, Len (txt)-InStr (txt, “,”))

위 코드는 정의 된 문자열에서 열 번호를 제거한 후 남은 문자열을 분리하는 데 사용됩니다.

아래 코드를 따르십시오

Option Explicit

Sub Formatting()

'Declaring variables

Dim wks As Worksheet

Dim intRow As Long

Dim strCol As String

Dim txt As String

'Initializing the variables

Set wks = Worksheets("Format")

intRow = 4

'Looping in 16th column until empty value is found

Do Until IsEmpty(wks.Cells(intRow, 16))



'Assigning the value of custom number format

txt = wks.Cells(intRow, 17)



'Looping and finding all the column number separated by comma(,)

Do Until InStr(txt, ",") = 0



'Getting the column number

strCol = Left(txt, InStr(txt, ",") - 1)

'Assigning the number format

Columns(CInt(strCol)).NumberFormat = wks.Cells(intRow, 16).Value

'Truncating the string for finding the next column number after the comma(,)

txt = Right(txt, Len(txt) - InStr(txt, ","))

Loop



'Assigning the number format

Columns(CInt(txt)).NumberFormat = wks.Cells(intRow, 16).Value

intRow = intRow + 1

Loop

End Sub

이 블로그가 마음에 들면 Facebook 및 Facebook에서 친구들과 공유하십시오.

[_GoBack] # 여러분의 의견을 듣고 싶습니다. 작업을 개선하고 개선 할 수있는 방법을 알려주십시오. [email protected]로 문의 해주세요