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

Excel에서 다른 셀의 값이 변경되면 지정된 셀 내용을 지우는 방법은 무엇입니까?

다른 셀의 값이 변경되면 지정된 셀 내용의 범위를 지우고 싶다고 가정하면 어떻게 할 수 있습니까? 이 게시물은이 문제를 해결하는 방법을 보여줍니다.

VBA 코드로 다른 셀의 값이 변경되면 지정된 셀 내용 지우기


VBA 코드로 다른 셀의 값이 변경되면 지정된 셀 내용 지우기

아래 스크린 샷과 같이 A2 셀의 값이 변경되면 C1 : C3 셀의 내용이 자동으로 지워집니다. 다음과 같이하십시오.

1. 워크 시트에서 다른 셀 변경 사항에 따라 셀 내용을 지우고 시트 탭을 마우스 오른쪽 단추로 클릭하고 코드보기 상황에 맞는 메뉴에서. 스크린 샷보기 :

2. 오프닝에서 응용 프로그램 용 Microsoft Visual Basic 창에서 VBA 코드 아래에 복사하여 코드 창에 붙여 넣습니다.

VBA 코드 : 다른 셀의 값이 변경되면 지정된 셀 내용 지우기

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2")) Is Nothing Then
        Range("C1:C3").ClearContents
    End If
End Sub

주의 사항: 코드에서 B2는 셀 내용을 지울 기준이되는 셀이고 C1 : C3은 내용을 지울 범위입니다. 필요에 따라 변경하십시오.

3. 누르세요 다른 + Q 닫는 키 응용 프로그램 용 Microsoft Visual Basic 창.

그러면 아래 스크린 샷과 같이 셀 A1의 값이 변경되면 C3 : C2 범위의 내용이 자동으로 지워지는 것을 볼 수 있습니다.


관련 기사 :


최고의 사무 생산성 도구

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 하단
코멘트 (38)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
다른 변경 사항이 잘 작동하면 셀을 지우는 코드!!!! 하지만 다른 방식으로 작동하려면 필요합니다..... 그 코드는 어떻게 작성되었나요??


당신의 도움에 감사드립니다
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
스캇,
반대로 일한다는게 무슨 말인가요? 특정 셀(C1:C3)의 내용을 수동으로 지우면 A2 셀의 내용이 자동으로 지워집니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 이것은 고정 소스 셀(A2)에서만 작동합니다. 소스가 가변 셀과 같이 동적으로 어떻게 작동합니까? 나는 쓰려고 노력했다
A=활성셀.행
If Not Intersect(Target, Range("A"& A)) is nothing then
범위("C1:C3").ClearContents
END IF

이것은 활성 셀(즉, 선택)과 관련하여 작업을 수행해야 하지만 작동하지 않습니다.
감사
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
좋은 날,
아래 VBA 코드를 시도하십시오. 당신의 의견에 감사드립니다.

개인 하위 Worksheet_Change (범위로 ByVal 대상)
If (Not Intersect(Target, Rows(1)) Is Nothing) And (Target.Count = 1) then
범위("C1:C3").ClearContents
END IF
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 특정 셀에 "x"가 입력되었을 때 데이터 셀 범위를 지우는 방법을 찾고 있습니다. 나는 위의 공식을 사용했고 그것은 그 한 행에 대해 완벽하게 작동했습니다. 문제는 많은 행으로 확장해야 한다는 것입니다. 예를 들어, "D13"에 "x"가 입력되면 J:13 - v:13 범위를 지워야 합니다. d:14 - v:14 범위를 지워야 하는 것처럼 x가 "D14"에 입력된 경우에도 발생해야 합니다. 그걸 쓰는 방법이 있나요? 당신의 도움을 주셔서 감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 이것은 내 작업이 아닙니다. 아무것도 변경되지 않지만 오류도 없습니다. 어떤 팁?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
좋은 날,
불편을 드려 죄송합니다. Office 버전을 제공하시겠습니까? 귀하의 의견에 감사드립니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
A2의 경우 다른 워크시트의 셀을 어떻게 참조합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
VBA 없이 이 작업을 수행하는 방법은 무엇입니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕 소니아,
VBA를 제외한 솔루션을 찾지 못했습니다. 귀하의 의견에 감사드립니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
테이블이 있고 여러 개의 공백이 필요한 경우 어떤 VBA 코드를 사용합니까?

내 테이블은 B3:E7입니다. B 열의 내용이 지워지면 해당 행에 대해 C, D, E 열의 데이터를 지우고 싶습니다. 나는 3행에 대해 아래를 가지고 있지만 4,5,6 및 7행에서도 동일하게 원합니다.

개인 하위 Worksheet_Change (범위로 ByVal 대상)
If Not Intersect(Target, Range("B3")) is nothing then
범위("C3:E3").ClearContents
END IF
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
더블 클릭으로 셀의 내용을 지우는 것은 어떻습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 예제에서 두 개 이상의 셀에 대해 코드를 어떻게 반복합니까? 즉, 셀 a4 및 a5의 내용을 삭제하는 경우 b4:z4 및 b5:z5의 내용을 각각 지우고 싶습니다. 이 작업을 수행해야 합니다. 1000행이 있는 큰 스프레드시트의 경우 조언을 주시면 감사하겠습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 Julian, 저도 같은 것을 찾고 있습니다. 이에 대한 해결책이 있으면 알려주세요.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
그에 따라 숫자를 변경하십시오
Dim i As 정수
개인 하위 Worksheet_Change (범위로 ByVal 대상)
내가 = 2하려면 10하려면
lookrange = "A" & 나
콘텐츠 범위 = "B" & i & ":" & "C" & i
If Not Intersect(Target, Range(lookrange)) Is nothing then
범위(콘텐츠 범위).ClearContents
END IF
다음 i
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 sagarsrinivas0312님, 이 코드를 만들어 주셔서 감사합니다. 이 솔루션을 찾기 위해 이미 일주일을 찾고 있습니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
감사합니다. 이 작업을 여러 번 수행하려면 어떻게 해야 합니까... 다른 열을 기반으로 하는 다른 셀을 지우나요?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
riusciresti a scrivermelo in modo che debba solo fraction copi ed incolla?
비 riesco veramente farlo funzionare

그레지 밀
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕,
"판매"라는 시트의 열 C에서 빈 셀을 찾고 "송장"이라는 시트에서 매크로가 실행되는 경우 열 A와 B의 추가 셀을 지우려고 합니다.

도움 사이트에서 아래 코드를 얻었지만 원하는 것을 얻을 수 없습니다.
그것에 대해 저를 도와주세요. 스크린샷은 내가 원하는 것을 첨부했습니다.

합계 지우기()

딤 g As Long
g = 2의 경우 ActiveSheet.UsedRange.Rows.Count로
If Cells(g, "C").Value = "" 그러면
셀(g, "A").ClearContents
셀(g, "B").ClearContents

END IF
다음
종료 합계
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
지정된 셀 내용이 다른 시트의 셀에 의해 제어되는 경우 작동하지 않는 것 같습니까? 이것에 대한 수정 사항이 있습니까?
셀 이름을 사용한 예
"A2" 셀이 (=sheet1[@[a5]]이고 이 번호가 시트 1에서 변경된 경우 A2의 내용이 변경되면 지정된 범위의 내용이 지워지지 않습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
비공개 서브 워크시트_Activate()
If Range("S2") <> Range("A2").Value 다음
범위("S2") = 범위("A2").값
범위("d2:g2").ClearContents
END IF
'S2'는 데이터 범위를 벗어난 모든 셀로 대체될 수 있습니다. VBA가 수행하는 작업은 'S2'에 대한 데이터를 자동으로 업데이트하는 것이며 업데이트되는 데이터는 지정한 범위와 삭제 여부를 제어하는 ​​것입니다.
이것이 워크시트 안팎에서 참조된 셀을 사용할 때 성공적으로 수행하는 유일한 방법입니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
필요한 것은 아니지만 E3에 빈 셀이 있습니다. B3에 데이터가 있습니다. E3에 데이터를 입력하면 B3와 같으면 B3이 삭제됩니다. 도와주세요.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
트리거 셀에 특정 번호가 포함된 경우 지정된 셀 내용을 지울 수 있습니까? 셀 A1 = 1인 경우 셀 A2:A4를 지우시겠습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하십니까,

Besoin d'aide, j'ai besoin d'effacer le contenu d'une cellule de la Colonne "I" si la cellule (de la meme ligne) de la Colonne "O" =0, sur Environ 2000 lignes avec des titres tout 르 10 라인즈 인바이런.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요

"B2"가 데이터 유효성 검사 목록에서 "예"를 선택하면 셀 B3이 데이터를 지우고 그 반대의 경우도 마찬가지입니다. "B3"이 데이터 유효성 검사 목록에서 "예"를 선택한 경우 데이터 유효성 검사 목록에서 "B2" 셀은 데이터를 지웁니다.

원래 B2 or B3 말할 수있다 "가능"(데이터 유효성 검사 목록에서) 그러나 결코 동시에, 하나는 다른 하나를 지워야합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 제프,
다음 VBA 코드가 도움이 될 수 있습니다. 시도해 보십시오.
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220721
If Target.Cells.Count > 1 Then Exit Sub
    If (Not Intersect(Target, Range("B2")) Is Nothing) And (Target.Value = "Yes") Then
        Range("B3").ClearContents
        Else
        If (Not Intersect(Target, Range("B3")) Is Nothing) And (Target.Value = "Yes") Then
        Range("B2").ClearContents
    End If
    End If
End Sub
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Buongiorno, avrei bisogno di cancellare una serie di caselle (un rettangolo, quindi su più righe e Colonne) in base al valore di un'altra cella. es: se la cella A2 → 12, il quadrato con vertici opposto C2: F4 venga cancellato.
그라 찌에 밀레
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕 피에트로,
죄송합니다. 귀하의 질문을 잘 이해하지 못합니다. 데이터의 스크린샷을 업로드하시겠습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Помогите с решением, VBA не знаю. Мне нужно при изменении ячейки удалить данные из другой и чтобы это дейстовало на весь столбец.
Меняю А2 удаляется из G2, Меняю А3 удаляется из G3, меняю A6 удаляется из G6 и т.д.

개인 하위 Worksheet_Change (범위로 ByVal 대상)
If Not Intersect(Target, Range("A2")) is nothing then
범위("G2").ClearContents
END IF
최종 하위


Данный код хорош для одной ячейки, а как его размножить на все ячейки столбца?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 Наталья,
다음 VBA 코드는 문제를 해결하는 데 도움이 될 수 있습니다. 시도해 보십시오.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20221013
    Dim xRight As Range
    Dim KeyCells As Range
    Set KeyCells = Range("A:A")
    Set xRight = Target.Offset(0, 6)
    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
        xRight.ClearContents
    End If
End Sub
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요

주 펑크트 3.
Die Taste "Andere"는 Windows Tastatur에서 찾을 수 있습니다. Ich Habe Strg, Alt, Tab... allerdings die Taste Andere gibt es auf meiner Tastatur leider nicht.

리벤 그루스 마티아스
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕 마티아스,
키보드에서 해당 키를 찾을 수 없는 경우. 당신은 그냥 클릭 할 수 있습니다 찜하기 버튼의 Microsoft Visual Basic 애플리케이션 창 코드를 저장한 다음 이 창을 수동으로 닫습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요
아래 코드는 알려진 대로 작동하지만 다음과 같은 문제가 발생합니다.

첫째, 대상 테이블의 크기를 조정할 때 모든 테이블 데이터가 지워지고 열 1 헤더를 제외한 모든 레이블이 "Column1, Column2 등"으로 다시 지정됩니다. 그리고 통합 문서는 자체적으로 자동 저장하고 실행 취소를 종료합니다.

둘째, 테이블 행을 삭제할 때 "런타임 오류 1004(객체 범위의 메서드 오프셋 실패)"가 발생합니다.


Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("F3:F500")) Is Nothing Then
     Target.Offset(0, 1).ClearContents
    ElseIf Not Intersect(Target, Range("G3:G500")) Is Nothing Then
        Target.Offset(0, 1).ClearContents
        Target.Offset(0, 2).ClearContents
    ElseIf Not Intersect(Target, Range("H3:H500")) Is Nothing Then
        Target.Offset(0, 1).ClearContents
    End If
End Sub


무엇이 잘못될 수 있는지에 대한 아이디어가 있습니까?

미리 감사드립니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Hola, estoy trabajando una base de datos en OFFICE ONLINE a traves de ONEDRIVE, quiero que al PONER "CANCELADO" 또는 "NOSHOW" elimine el contenido de la fila seleccionada.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕 천사,
VBA 코드는 Office Online에서 작동하지 않습니다. 불편을 드려 죄송합니다.
아직 코멘트가 없습니다
더보기

Follow Us

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