VBA에서 기록된 매크로를 자동화된 매크로로 바꾸는 방법은 무엇입니까?

VBA에서 기록된 매크로를 자동화된 매크로로 바꾸는 방법은 무엇입니까?

"C3:C47" 열의 값을 기준으로 "B3:U47" 범위의 데이터를 정렬하기 위해 다음 매크로를 기록했습니다.

Sub Sorting_Finance()
    Range("B3:U47").Select
    ActiveWorkbook.Worksheets("Finance").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Finance").Sort.SortFields.Add2 Key:= _
        Range("C3:C47"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("Finance").Sort
        .SetRange Range("B3:U47")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

데이터를 정렬하고 싶을 때마다 Ctrl+n을 누릅니다. C 열에 새 값을 입력할 때 자동으로 이를 수행하는 방법이 있습니까? VBA를 통해 변경하려고 시도하고 있지만 지금까지는 성공하지 못했습니다.

답변1

무늬:

Private Sub Worksheet_Change(ByVal Target As Range)
if not (intersect(target, Range("C3:C47")) is nothing) then 
    call Sorting_Finance
end if
end sub

그리고 줄을 제거하거나 주석 처리하는 것을 잊지 마세요 Range("B3:U47").Select.

관련 정보