Note: The other languages of the website are Google-translated. Back to English

Excel에서 셀 값이 변경 될 때 매크로를 실행하는 방법은 무엇입니까?

일반적으로 Excel에서는 F5 키 또는 실행 버튼을 눌러 VBA 코드를 실행할 수 있습니다. 그러나 셀 값이 변경 될 때 특정 매크로 코드를 실행 해 본 적이 있습니까? 이 기사에서는 Excel에서이 작업을 처리하는 몇 가지 빠른 트릭을 소개합니다.

VBA 코드로 특정 셀 값이 변경 될 때 매크로 실행 또는 호출

VBA 코드를 사용하여 범위에서 셀 값이 변경 될 때 매크로 실행 또는 호출


화살표 블루 오른쪽 거품 VBA 코드로 특정 셀 값이 변경 될 때 매크로 실행 또는 호출

셀 값을 변경하여 매크로 코드를 실행하려면 다음 VBA 코드가 도움이 될 수 있습니다. 다음과 같이하십시오.

1. 셀 값이 변경되면 매크로를 실행할 시트 탭을 마우스 오른쪽 단추로 클릭 한 다음 코드보기 상황에 맞는 메뉴 및 열린 애플리케이션 용 Microsoft Visual Basic 창에서 다음 코드를 복사하여 빈 모듈에 붙여 넣습니다.

VBA 코드 : 셀 값이 변경 될 때 매크로 실행 :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Call Mymacro
    End If
End Sub

셀이 변경되면 문서 실행 매크로 1

주의 사항: 위 코드에서 A1 코드를 실행하려는 특정 셀입니다. 마이 매크로 실행하려는 매크로 이름입니다. 필요에 따라 변경하십시오.

2. 그런 다음 코드 창을 저장하고 닫으십시오. 이제 A1 셀에 값을 입력하거나 변경하면 특정 코드가 즉시 트리거됩니다.


화살표 블루 오른쪽 거품 VBA 코드를 사용하여 범위에서 셀 값이 변경 될 때 매크로 실행 또는 호출

셀 범위에서 셀 값이 변경 될 때 매크로를 실행하거나 트리거하려면 다음 코드가 도움이 될 수 있습니다.

1. 셀 값이 변경되면 매크로를 실행할 시트 탭을 마우스 오른쪽 단추로 클릭 한 다음 코드보기 상황에 맞는 메뉴 및 열린 애플리케이션 용 Microsoft Visual Basic 창에서 다음 코드를 복사하여 빈 모듈에 붙여 넣습니다.

VBA 코드 : 범위에서 셀 값이 변경 될 때 매크로 실행 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B100")) Is Nothing Then
Call Mymacro
End If
End Sub

셀이 변경되면 문서 실행 매크로 2

주의 사항: 위 코드에서 A1 : B100 코드를 실행하려는 특정 셀입니다. 마이 매크로 실행하려는 매크로 이름입니다. 필요에 따라 변경하십시오.

2. 그런 다음 코드 창을 저장하고 닫습니다. 이제 A1 : B100의 셀에 값을 입력하거나 변경하면 특정 코드가 한 번에 실행됩니다.


여러 통합 문서에서 모든 매크로 제거

Excel 용 Kutools's 모든 매크로 일괄 제거 유틸리티를 사용하면 필요에 따라 여러 통합 문서에서 모든 매크로를 제거 할 수 있습니다. 지금 Excel 용 Kutools를 다운로드하여 무료로 사용해보십시오!

Excel 용 Kutools: 300 개 이상의 편리한 Excel 추가 기능으로 30 일 동안 제한없이 무료로 사용해 볼 수 있습니다. 지금 다운로드 및 무료 평가판!


관련 기사 :

Excel에서 인쇄하기 전에 매크로를 자동으로 실행하는 방법은 무엇입니까?

Excel에서 셀 값을 기반으로 매크로를 실행하는 방법은 무엇입니까?

Excel의 드롭 다운 목록에서 선택한 값을 기반으로 매크로를 실행하는 방법은 무엇입니까?

Excel에서 하이퍼 링크를 클릭하여 매크로를 실행하는 방법은 무엇입니까?

통합 문서에서 시트를 선택할 때 매크로를 실행하는 방법은 무엇입니까?


최고의 사무 생산성 도구

Excel용 Kutools는 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

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

Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (17)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 모듈은 저에게 적합하지 않습니다. 셀의 값이 변경되면 코드를 실행할 것이라고 말합니다. 셀에 입력하면 작동하지만 셀 값이 수식(예: Counta)에 의해 변경되면 실행되지 않습니다. 수식을 통해 VALUE가 변경될 때 매크로를 실행하는 솔루션이 있습니까? 고마워, 웨인
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Wayne과 같은 문제입니다. 도움을 주시면 감사하겠습니다! 고마워 로니
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 얘들아,

예, 위의 코드는 셀 값이 수동으로 변경될 때만 사용할 수 있습니다. 상대 셀이 변경되어 수식 결과가 변경될 때 특정 매크로 코드를 자동으로 실행해야 하는 경우 이 문서를 방문하십시오.
https://www.extendoffice.com/documents/excel/4618-excel-vba-run-macro-when-cell-formula-result-changes.html.
사용해 보시고 회신을 바랍니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
작동하지 않습니다... & 수동으로 셀 값을 변경하고 있습니다. 설정해야 하는 사전 구성이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
절차에서 이것을 테스트하고 매개 변수로 사용하십시오.


Private Sub Worksheet_Change(ByVal Target As Range)

MsgBox Target.Address & "-" e Target.AddressLocal

최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
예 설명에는 값이 변경될 때 트리거되어야 한다고 설명되어 있지만 두 번째 코드는 값이 아무것도 아닐 때라고 말하고 첫 번째 코드는 값이 변경될 때도 트리거되지 않지만 코드를 볼 때 F5 키를 누르면 원하는 MyMacro를 트리거하지만 아무 것도 아닌 것으로부터 또는 그 반대로가는 것만큼 값 변경에 반응하지 않는 것 같습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 목록 선택을 기반으로 텍스트를 표시하는 데이터 유효성 검사 목록을 사용하여 처음으로 작동했습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
나를 위해 잘 작동했습니다! 내 딜레마는 상대 참조 매크로가 되기를 원하고 Enter 키를 눌러 항목을 저장하고 삭제를 눌러 셀을 지우는 것 사이에는 차이가 있다는 것입니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
유용한 코드입니다. 변경되면서 변경되는 셀 주위에 링을 삽입할 수 있는지 생각하고 있었습니다. 그리고 매주 월요일에 원을 재설정합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 케빈,
여기에 문제 해결에 대한 아이디어가 없습니다. 좋은 해결책이 있으면 여기에 의견을 말하십시오.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
호출하는 매크로는 어디에 있습니까? Modules 폴더에 내 것이 있지만 워크시트의 셀에 값을 넣으면 다음과 같은 컴파일 오류가 발생합니다.
모듈이 아닌 예상 변수 또는 프로시저입니다.

도와주세요.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, DrCartwright입니다.
답변이 너무 늦어서 죄송합니다.
예, 말씀하신 대로 매크로 코드는 모듈에 있어야 하며 다음 스크린샷과 같이 코드 이름을 자신의 이름으로 변경해야 합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 좋은 오후입니다
quisiera saber el codigo para que se active una macro cuando cambia el valor de una celda de una columna, pero este valor cambia por Formula, sin que el usuario introduzca ningun valor.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 여러분, 저는 다음 문제를 해결하고 있습니다. 링크가 A열에 삽입될 때 웹사이트의 제목을 긁어내고 이 값을 B열의 관련 셀(옆에 있음)에 입력하고 싶습니다. 문제는 일단 붙여넣은 것 같습니다. A열의 웹사이트에서 코드는 코드에 정의된 대로 A2열부터 "마지막 행"까지 전체 목록을 다시 실행합니다. 단일 열 A가 수정된 후에만 열 B를 수정하는 방법이 있습니까? 즉, 열 A36에 링크를 붙여넣으면 셀이 사용된 범위의 중간 또는 맨 아래에 있는지 여부에 관계없이 B36에 제목이 표시됩니다. 현재 상태로 여러 입력을 다시 실행할 필요 없이 이것을 사용하고 싶습니다. (즉, "for i = 2 to last row" 루프)? 또한 '대상'이 A:A 범위의 모든 셀인 변경(예: 교차 기능)에 반응하는 모듈식 매크로 즉 하위에서 비공개 하위로 아래를 변경하고 싶습니다. 감사합니다!


하위 get_title_header()



개체로 희미한 wb

Dim 문서를 개체로

문자열로 Dim sURL

희미한 lastrow As Long

lastrow = Sheet1.Cells(Rows.Count, "A").End(xlUp).row



i = 2인 경우 마지막으로

설정 wb = CreateObject("internetExplorer.Application")

sURL = 셀(i, 1)



wb.navigate sURL

wb.Visible = 거짓



동안 wb.busy

사건

향하게 하다



''HTML 문서

문서 = wb.document 설정



셀(i, 2) = doc.Title



오류 시 이동 err_clear

셀(i, 3) = doc.GetElementsByTagName("h1")(0).innerText

err_clear:

오류 <> 0이면

Err.Clear

다음 재개

END IF

종료

범위(셀(i, 1), 셀(i, 3)).열.자동 맞춤

다음 i



최종 하위




고맙습니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
다른 통합 문서(부품 상태)가 변경될 때 1개의 통합 문서(BOM)를 자동화하려고 합니다. 부품 상태 파일은 15분마다 업데이트됩니다. 이러한 변경 사항이 발생할 때 특정 열을 자동화하는 방법을 알아야 합니까? 모든 아이디어
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
아래 코드를 사용하여 셀 C3에 있는 드롭다운 상자의 선택 항목에 따라 다양한 열을 숨기고 있지만 워크시트의 아무 곳에서나 계산을 수행하면 모든 열이 UNHIDDEN이 됩니다. 이 문제를 해결하려면 어떻게 해야 하나요?

개인 하위 Worksheet_Change (범위로 ByVal 대상)

열("D:F").자동 맞춤

Dim Proj1을 문자열로
Dim Proj2을 문자열로
Dim Proj3을 문자열로
Dim Proj4을 문자열로
Dim Proj5을 문자열로
Dim Proj6을 문자열로
Dim Proj7을 문자열로
Dim Proj8을 문자열로
Dim Proj9을 문자열로
Dim Proj10을 문자열로

Proj1 = ActiveWorkbook.Sheets("프로젝트").Range("A1").값
Proj2 = ActiveWorkbook.Sheets("프로젝트").Range("A2").값
Proj3 = ActiveWorkbook.Sheets("프로젝트").Range("A3").값
Proj4 = ActiveWorkbook.Sheets("프로젝트").Range("A4").값
Proj5 = ActiveWorkbook.Sheets("프로젝트").Range("A5").값
Proj6 = ActiveWorkbook.Sheets("프로젝트").Range("A6").값
Proj7 = ActiveWorkbook.Sheets("프로젝트").Range("A7").값
Proj8 = ActiveWorkbook.Sheets("프로젝트").Range("A8").값
Proj9 = ActiveWorkbook.Sheets("프로젝트").Range("A9").값
Proj10 = ActiveWorkbook.Sheets("프로젝트").Range("A10").값

Dim xRG As 범위
Dim xHRow를 정수로
xRG = 범위 설정("C3")
If Not Intersect(Target, xRG) is nothing then

Target.Value = Proj1이면
Application.Columns("E:F").Hidden = True
Application.Columns("D").Hidden = False

ElseIf Target.Value = Proj2 다음
Range("D:D, F:F").EntireColumn.Hidden = True
Application.Columns("E").Hidden = False

END IF
END IF
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것이 바로 내가 찾고 있던 것입니다. 사용자가 셀에 값을 입력하면 간단한 정렬 매크로가 실행됩니다. 매크로는 자체적으로 잘 실행되지만 제안된 코드를 사용하여 잘못된 속성 사용 오류가 발생합니다.

무엇이 문제 일 수 있습니까?
아직 코멘트가 없습니다

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호