EXCEL VBA:다른 셀의 값을 기준으로 NUMBER 형식 변경

EXCEL VBA:다른 셀의 값을 기준으로 NUMBER 형식 변경

C7:K35Cell 의 값을 기반으로 셀 범위의 서식을 변경하고 싶습니다 A1.

= 1 인 경우 A1숫자 형식은 다음과 같아야 합니다."_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"

<> 1일 때 A1숫자 형식은 다음과 같아야 합니다."_-$* #,##0_-;-$* #,##0_-;_-$* ""-""??_-;_-@_-"

case이전에 다른 포럼에서 질문할 때 그랬던 것처럼 이 작업을 VBA에서 를 사용하여 수행해야 한다는 것을 알고 있지만 더 이상 질문을 찾을 수 없습니다.

나는 그것이 다음과 같을 것이라고 추측합니다 :

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("A1")) Is Nothing Then
       case when Range("A1").value = 1 then
       Range("C7:K32").Select
       Selection.NumberFormat = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
       Else
       Range("C7:K32").Select
       Selection.NumberFormat = "_-$* #,##0_-;-$* #,##0_-;_-$* ""-""??_-;_-@_-"
    End If

End Sub

답변1

Select진술 외에는 아무것도 필요하지 않습니다 Select Case.

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("A1")) Is Nothing Then
       select case Range("A1").value
           case 1
               Range("C7:K32").NumberFormat = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
           case Else
               Range("C7:K32").NumberFormat = "_-$* #,##0_-;-$* #,##0_-;_-$* ""-""??_-;_-@_-"
        end select
    End If

End Sub

관련 정보