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

다른 시트의 셀 값을 기반으로 특정 워크 시트를 숨기거나 숨기기를 해제하는 방법은 무엇입니까?

다른 시트의 셀 내용을 기반으로 특정 워크 시트 탭을 숨기거나 숨김 해제 할 수있는 방법이 있습니까? 예를 들어 Sheet1의 G2 셀에 "Yes"라는 텍스트를 입력하면 Sheet1을 숨기고 "No"를 입력하면 Sheet1이 한 번에 표시되도록합니다. Excel에서이 문제를 어떻게 해결할 수 있습니까?

VBA 코드로 셀 값을 기반으로 특정 워크 시트 탭 숨기기 또는 숨기기 해제


화살표 블루 오른쪽 거품 VBA 코드로 셀 값을 기반으로 특정 워크 시트 탭 숨기기 또는 숨기기 해제

다른 워크 시트의 셀 값을 기반으로 특정 워크 시트 탭을 숨기거나 숨기기 해제하려면 다음 VBA 코드가 도움이 될 수 있습니다. 다음과 같이하십시오.

1. 다른 시트를 숨기려는 셀 값이 포함 된 워크 시트로 이동합니다.

2. 시트 탭을 마우스 오른쪽 버튼으로 클릭하고 코드보기, 튀어 나온 응용 프로그램 용 Microsoft Visual Basic 다음 코드를 복사하여 빈 모듈 창에 붙여 넣으십시오. 스크린 샷을 참조하십시오.

VBA 코드 : 셀 값을 기준으로 워크 시트 탭 숨기기 또는 숨기기 :

Private Sub Worksheet_Change(ByVal Target As Range)
If [G1] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If
End Sub

셀 값을 기반으로 문서 숨기기 탭 1

참고 : 위의 코드에서 G1 예는 기반으로 할 셀 및 셀 내용입니다. Sheet1 숨기거나 숨기기를 해제하려는 특정 시트입니다. 필요에 따라 변경할 수 있습니다.

3. 그런 다음이 코드를 저장하고 닫습니다. 셀 G1에 "No"또는 다른 텍스트를 입력하면 Sheet1이 숨겨 지지만 셀에 "Yes"를 입력하면 Sheet1이 즉시 표시됩니다. 스크린 샷을 참조하십시오.

셀 값을 기반으로 문서 숨기기 탭 2
1
셀 값을 기반으로 문서 숨기기 탭 3

 


최고의 사무 생산성 도구

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 하단

 

코멘트 (23)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요
팁 주셔서 감사합니다. 동일한 시나리오를 수행해야 하지만 하나의 셀(이 경우 G1)에서만이 아니라 G 열의 모든 셀에서 수행해야 합니다. "범위"로 시도했지만 작동하지 않았습니다.

개인 하위 Worksheet_Change (범위로 ByVal 대상)
범위("X2:X100") = ""이면
Sheets("EU 작업 기반 측정").Visible = False
다른
Sheets("EU 작업 기반 측정").Visible = True
END IF
최종 하위


사전에 감사합니다
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 답변이 되었을 가능성이 있습니까? 나는 또한 하나의 셀 대신 전체 범위가 작동하는 이 시나리오를 실행하고 있습니다. 동일한 결과에 동일한 코딩을 사용했습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
다음과 같이 2개의 워크시트를 만들었습니다.
개인 하위 Worksheet_Change (범위로 ByVal 대상)
[C20] = "예"인 경우
Sheets("sheet1").Visible = True
다른
Sheets("sheet1").Visible = False
END IF
[C22] = "예"인 경우
Sheets("sheet2").Visible = True
다른
Sheets("sheet2").Visible = False
END IF
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
매우 도움이 됩니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
제 문제를 도와줄 수 있는지 알고 싶습니다. 본질적으로 내가 사용하는 시트에 이 정확한 코드가 있지만 또는 함수가 있으므로 대답은 "예" 또는 "참"이 될 수 있습니다. 그러나 숨김/숨김 해제 중인 시트가 알 수 없는 이유로 다시 숨겨지는 경우가 있습니다. yes를 입력하면 숨김이 해제되지만 나중에 사용하려고 하면 셀 값이 여전히 yes임에도 불구하고 다시 숨겨집니다. 왜 이런 일이 발생할 수 있는지 및/또는 해결 방법을 알고 계십니까?
참고용 코드:
Private Sub Worksheet_Change(ByVal Target As Range)' 보정 페이지 숨기기/숨기기 해제
[B18] = "예" 또는 Target.Value = "True"인 경우 다음
Sheets("XXX Verification").Visible = True
다른
Sheets("XXX Verification").Visible = False
END IF

이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 앞에 색인 시트에 연결된 여러 개의 명명된 탭이 있는 통합 문서가 있습니다. 사용자는 시트 이름 옆의 확인란을 선택하여 사용하려는 시트를 선택할 수 있습니다(공백, N/A 또는 예(드롭다운 목록)). 확인란이 비어 있거나 "예"가 포함되어 있으면 시트가 표시되지만 확인란에 "해당 없음"이 포함되어 있으면 표시되지 않도록 이 코드를 적용하는 방법이 있습니까?
나는 시도했지만 VBA에 대해 충분히 알지 못합니다. 감사해요
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
셀 값(예/아니요)에 따라 시트를 숨기거나 숨기기를 취소하려고 합니다. 값은 테이블(tblFileContents) 및 열 D4:D25에 있고 시트 이름은 시트의 A4:A25에 있습니다. . 아이템의 순서는 변경될 수 있습니다. 이 작업을 수행할 수 있는 예제에 대한 참조가 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
나는 같은 문제가 있고 다른 사람이 해결책을 제공했습니다.
2개의 열이 있는 테이블(표 형식)을 만들고 왼쪽 열의 이름을 Sheets로 지정하여 표시/숨기기, 오른쪽 열은 사용자에게 달려 있습니다. 모든 시트 이름을 왼쪽 열에 입력
그런 다음 이 탭의 코드 보기를 선택하고 Dim Changed As Range, c As Range, rMTS As Range를 입력합니다.
오랫동안 어둡게
Dim bShowAll을 부울로 표시

rMTS = Range("TblShowHide[표시할 표시]") 설정
변경된 설정 = 교차(대상, rMTS)
변경되지 않으면 아무것도 아닙니다
bShowAll = Len(rMTS.Cells(1).Value) > 0
오류에 대한 다음 재개
i = 2의 경우 rMTS.Rows.Count로
Sheets(Range("TblShowHide[시트 표시/숨기기]").Cells(i).Value).Visible = IIf(bShowAll, True, Len(rMTS.Cells(i).Value) > 0)
다음 i
오류 발생시 0
END IF
최종 하위


이 댓글은 사이트의 중재자에 의해 최소화되었습니다
나는 이것을 시도할 것이다. 매우 감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
무엇을 변경해야 하는지 확실하지 않지만 저에게는 효과가 없었습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 진,
예, 여기에 첨부한 예가 있습니다. 파일 이름을 example.xlsm으로 바꿉니다(압축되지 않았지만 업로드하려면 이름을 바꿔야 함).
메뉴 탭에는 다양한 탭 이름이 있는 테이블이 있습니다. x 또는 다른 문자를 만들어 탭을 표시하고, 해당 문자를 제거하면 탭이 숨겨집니다.
희망은 도움이됩니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
여기에는 여러 항목이 포함되어 있지만 Excel 파일은 없습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
메뉴/목차를 첫 번째 워크시트로 사용하고 예/아니오 응답을 기반으로 하고 싶습니다. 특정 워크시트가 표시됩니다. 즉, 1개 이상이 표시됩니다.
위의 코드를 기반으로 여러 워크시트를 표시하는 데 어려움을 겪고 있습니다.
AND 기능을 사용할 수 있습니까? 예를 들어 X 셀 = "예"인 경우 Y 시트를 표시하고 Z 시트와 K 시트를 표시합니까?
어떤 조언이든 환영합니다.
문안 인사
헬렌
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
А я вот не могу понять, как такое сделать в гугл таблицах именно?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕 친구,

새 Google 시트를 열고 "Sheet1"과 "Sheet2"가 있도록 새 시트를 추가한 다음 도구 > 스크립트 편집기로 이동합니다. 편집기에서 다음을 붙여넣습니다.

함수 myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("시트1");
var sheet2 = ss.getSheetByName("시트2");

var cell1 = sheet1.getRange('B2');

if (cell1.getValue() == 2) {
sheet2.hideSheet();
}

if (cell1.getValue() == 3) {
sheet2.showSheet();
}
}

시도해 주세요.

감사합니다.
맨디
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 코드는 훌륭하게 작동하지만 42장에 대해 70개의 변수가 있으므로 이 코드는 매우 길어지고 작동을 멈춥니다. VBA가 처리할 수 있는 코드 크기를 초과하지 않도록 섹션에서 이 코드를 만드는 방법이 있습니까? 아니면 이것을 두 개의 개별 엑셀로 나누어야합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 리즈
죄송합니다. 현재 문제를 해결할 수 있는 좋은 방법이 없습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
나는 셀 B1에 값이 있는데 예인 경우 sheet1을 숨김 해제하지만 B2의 값은 예인 경우 Sheet2 등을 숨김 해제하는 것입니다. 마지막 시트를 잘 숨기거나 숨깁니다. 10장의 다른 시트? 감사해요
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 앤디
문제를 해결하려면 아래 코드를 적용하세요.
Private Sub Worksheet_Change(ByVal Target As Range)
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If
If [B3] = "Yes" Then
Sheets("Sheet2").Visible = True
Else
Sheets("Sheet2").Visible = False
End If
If [B4] = "Yes" Then
Sheets("Sheet3").Visible = True
Else
Sheets("Sheet3").Visible = False
End If
If [B5] = "Yes" Then
Sheets("Sheet4").Visible = True
Else
Sheets("Sheet4").Visible = False
End If
If [B6] = "Yes" Then
Sheets("Sheet5").Visible = True
Else
Sheets("Sheet5").Visible = False
End If
End Sub

주의 사항: 위의 코드에서 아래의 스크립트를 여러 번 복사하고 셀 참조와 시트 이름을 자신의 것으로 변경하면 됩니다.
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If


시도해보십시오. 도움이 되길 바랍니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
YES 또는 NO가 아닌 값 범위에 대해 탭을 표시하려는 문제가 있습니다. 하위에 IF 문을 반복하려고 하면 오류가 발생하고 if 문에 여러 값을 나열하려고 하면 오류가 발생합니다. 어떤 아이디어?

거의 IF/OR 문을 사용해야 하는 것처럼 보이지만 어떻게 작동하는지 잘 모르겠습니다.

개인 하위 Worksheet_Change (범위로 ByVal 대상)
[K6] = "VS 1", "VS 2", "VS 3", VS 4"이면
Sheets("Page6").Visible = True
다른
Sheets("Page6").Visible = False
END IF
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 마가렛
문제를 해결하려면 아래 코드를 적용하고 Or를 사용하여 조건에 가입해야 합니다.
Private Sub Worksheet_Change(ByVal Target As Range)
If [K6] = "VS 1" Or [K6] = "VS 2" Or [K6] = "VS 3" Or [K6] = "VS 4" Then
Sheets("Page6").Visible = True
Else
Sheets("Page6").Visible = False
End If
End Sub

시도해보십시오. 도움이 되길 바랍니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Skyyang - 이것은 완벽하게 작동했습니다. 신속한 답변에 감사드립니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것을 사용하려고 하는데 "컴파일 오류 - 프로젝트 또는 라이브러리를 찾을 수 없습니다"가 표시되고 예/아니요 드롭다운이 있는 셀이 강조 표시됩니다. 이것이 병합된 셀이기 때문일 수 있다고 생각합니다. 이 문제를 해결할 수 있는 방법이 있습니까?
아직 코멘트가 없습니다
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

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