팁 : 다른 언어는 Google 번역입니다. 방문하실 수 있습니다. English 이 링크의 버전.
로그인
x
or
x
x
회원가입
x

or

셀 수식 결과가 변경되면 자동으로 매크로를 실행하는 방법?

다음 그림과 같이 열 A와 열 B의 데이터를 기반으로 수식 목록을 표시한다고 가정합니다. 이제 상대적인 셀 변경으로 수식 결과가 변경되면 특정 매크로 코드를 자동으로 실행하고 싶습니다. Excel에서이 작업을 해결하는 좋은 아이디어가 있습니까?

VBA 코드로 셀 수식 결과가 변경되면 매크로가 자동으로 실행됩니다.


VBA 코드로 셀 수식 결과가 변경되면 매크로가 자동으로 실행됩니다.


다음 VBA 코드는 수식 결과 셀이 변경 될 때 특정 코드를 자동으로 실행하는 데 도움을 줄 수 있으므로 다음과 같이하십시오.

1. 사용할 시트 탭을 마우스 오른쪽 단추로 클릭 한 다음 코드보기 상황에 맞는 메뉴에서 응용 프로그램 용 Microsoft Visual Basic 창에서 다음 코드를 복사하여 빈 모듈에 붙여 넣습니다.

VBA 코드 : 셀 수식 결과가 변경되면 자동으로 매크로가 실행됩니다.

Private Sub Worksheet_Calculate()
'Updateby Extendoffice
    Dim Xrg As Range
    Set Xrg = Range("C2:C8")
    If Not Intersect(Xrg, Range("C2:C8")) Is Nothing Then
    Macro1
    End If
End Sub

주의 사항: 위의 코드에서, C2 : C8 당신이 사용하고자하는 공식 셀의 범위입니다.maco1 자동으로 실행하려는 매크로의 이름입니다. 필요에 맞게 변경하십시오.

2. 그런 다음 A2 : B8 범위의 데이터가 변경되어 공식 결과가 변경되면이 코드 창을 저장하고 닫으십시오. 그러면 특정 매크로 코드가 즉시 트리거됩니다.


Excel 용 Kutools-최고의 사무 생산성 도구 80 % 생산성 향상

  • 재사용: 빠르게 삽입 복잡한 수식, 차트 그리고 당신이 전에 사용했던 것; 셀 암호화 비밀번호로; 메일 링리스트 만들기 그리고 이메일을 보내 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집); 레이아웃 읽기 (많은 셀을 쉽게 읽고 편집); 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 분할 셀 내용; 중복 행 / 열 결합... 중복 세포 방지; 범위 비교...
  • 복제 또는 고유를 선택하십시오. 행; 빈 행 선택 (모든 세포는 비어있다); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 랜덤 선택 ...
  • 정확한 사본 공식 참조를 변경하지 않는 다중 셀; 참조 자동 작성 여러 장에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 소계 생성 및 인쇄; 셀 내용과 주석 간 변환...
  • 수퍼 필터 (필터 구성표를 저장하고 다른 시트에 적용); 고급 정렬 월 / 주 / 일별, 빈도 등; 특수 필터 대담하고 기울임 꼴로
  • 통합 문서와 WorkSheets 결합; 키 열을 기준으로 테이블 병합 데이터를 여러 시트로 분할; 일괄 변환 xls, xlsx 및 PDF...
  • 300 이상의 강력한 기능. Office / Excel 2007-2019 및 365를 지원합니다. 모든 언어를 지원합니다. 기업이나 조직에 쉽게 배포 할 수 있습니다. 60 일 무료 평가판 전체 기능.
kte 탭 201905

Office 탭 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, 게시자, 액세스, Visio 및 프로젝트.
  • 새 창보다는 동일한 창에서 새 탭으로 여러 문서를 열고 만들 수 있습니다.
  • 50 %만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
오피셜
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    shan · 22 days ago
    sorry it dosn't work it works if i put data manually. but i want to work it automatically bcz my data is updating by rand calcaulate
  • To post as a guest, your comment is unpublished.
    Cenk · 11 months ago
    So, what is my macro name. where can i find my macro name?
    • To post as a guest, your comment is unpublished.
      skyyang · 11 months ago
      Hello, Cenk,
      The macro name is the macro code you have inserted into the Excel file, and you just need to change the Macro1 in the above code to your own.
      For example, i insert a code here, and the macro name is: ColorCompanyDuplicates

      Sub ColorCompanyDuplicates()
      'Updateby Extendoffice 20160704
      Dim xRg As Range
      Dim xTxt As String
      Dim xCell As Range
      Dim xChar As String
      Dim xCellPre As Range
      Dim xCIndex As Long
      Dim xCol As Collection
      Dim I As Long
      On Error Resume Next
      If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
      Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
      End If
      Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
      If xRg Is Nothing Then Exit Sub
      xCIndex = 2
      Set xCol = New Collection
      For Each xCell In xRg
      On Error Resume Next
      xCol.Add xCell, xCell.Text
      If Err.Number = 457 Then
      xCIndex = xCIndex + 1
      Set xCellPre = xCol(xCell.Text)
      If xCellPre.Interior.ColorIndex = xlNone Then xCellPre.Interior.ColorIndex = xCIndex
      xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
      ElseIf Err.Number = 9 Then
      MsgBox "Too many duplicate companies!", vbCritical, "Kutools for Excel"
      Exit Sub
      End If
      On Error GoTo 0
      Next
      End Sub
  • To post as a guest, your comment is unpublished.
    Tommy · 1 years ago
    What's the point of the condition? It'll always return true...in other words: it'll run without it. This also runs whenever any cells on the sheet change value.
  • To post as a guest, your comment is unpublished.
    Varun · 1 years ago
    Thanks a lot! This really helped me out.
    Is there any method to retrieve the address of the changed cell (with formula i.e Column C in this example).
    Thanks.