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

Làm cách nào để ẩn hoặc hiện một trang tính cụ thể dựa trên giá trị ô trong một trang tính khác?

Có bất kỳ phương pháp nào để chúng tôi ẩn hoặc hiện một tab trang tính cụ thể dựa trên nội dung ô trong trang tính khác không? Ví dụ: khi tôi nhập văn bản “Có” vào ô G1 của Trang tính2, tôi muốn Trang tính1 bị ẩn và khi tôi nhập “Không”, Trang tính1 sẽ được hiển thị cùng một lúc. Làm cách nào để giải quyết vấn đề này trong Excel?

Ẩn hoặc hiện một tab trang tính cụ thể dựa trên giá trị ô có mã VBA


mũi tên màu xanh bong bóng bên phải Ẩn hoặc hiện một tab trang tính cụ thể dựa trên giá trị ô có mã VBA

Để ẩn hoặc hiện một tab trang tính cụ thể dựa trên giá trị ô trong một trang tính khác, mã VBA sau có thể giúp bạn, vui lòng thực hiện như sau:

1. Chuyển đến trang tính có chứa giá trị ô mà bạn muốn ẩn một trang tính khác.

2. Nhấp chuột phải vào tab trang tính và chọn Mã Chế độ xem, trong cửa sổ bật ra Microsoft Visual Basic cho các ứng dụng cửa sổ, vui lòng sao chép và dán mã sau vào cửa sổ Mô-đun trống, xem ảnh chụp màn hình:

Mã VBA: Ẩn hoặc ẩn tab trang tính dựa trên giá trị ô:

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

doc ẩn tab dựa trên giá trị ô 1

LƯU Ý Trong đoạn mã trên, G1 và Có là ô và nội dung ô mà bạn muốn dựa trên đó và Sheet1 là trang tính cụ thể mà bạn muốn ẩn hoặc hiện. Bạn có thể thay đổi chúng theo nhu cầu của bạn.

3. Sau đó, lưu và đóng mã này, khi bạn nhập “Không” hoặc văn bản khác vào ô G1, Trang tính1 sẽ bị ẩn, nhưng nếu bạn nhập “Có” vào ô, Trang tính1 sẽ hiển thị ngay lập tức, hãy xem ảnh chụp màn hình:

doc ẩn tab dựa trên giá trị ô 2
1
doc ẩn tab dựa trên giá trị ô 3

 


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng

 

Nhận xét (23)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào
Cảm ơn vì tiền boa. Tôi cần thực hiện cùng một kịch bản nhưng không phải chỉ trên một ô (G1 trong trường hợp này) mà trên tất cả các ô của cột G. Tôi đã thử với "Phạm vi" nhưng nó không hoạt động.

Private Sub Worksheet_Change (ByVal Target As Range)
Nếu Phạm vi ("X2: X100") = "" Thì
Trang tính ("CÁC ĐO LƯỜNG DỰA TRÊN NHIỆM VỤ CỦA EU"). Hiển thị = Sai
Khác
Trang tính ("CÁC ĐO LƯỜNG DỰA TRÊN NHIỆM VỤ CỦA EU"). Visible = True
Cuối Nếu
End Sub


Cảm ơn bạn trước
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bất kỳ cơ hội này đã được trả lời? Tôi cũng đang gặp phải trường hợp này khi cả một phạm vi hoạt động thay vì chỉ một ô ... Tôi đã sử dụng mã hóa tương tự này với kết quả tương tự.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã làm 2 trang tính như sau:
Private Sub Worksheet_Change (ByVal Target As Range)
If [C20] = "Yes" Thì
Trang tính ("sheet1"). Visible = True
Khác
Trang tính ("sheet1"). Visible = False
Cuối Nếu
If [C22] = "Yes" Thì
Trang tính ("sheet2"). Visible = True
Khác
Trang tính ("sheet2"). Visible = False
Cuối Nếu
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Rất hữu ích!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn xem liệu bạn có thể giúp gì cho vấn đề của tôi không. Về cơ bản, tôi đã có mã chính xác này trong một trang tính mà tôi sử dụng nhưng với một hoặc hàm để câu trả lời có thể là "có" hoặc "đúng". Tuy nhiên, trang tính đang bị ẩn / không được hiển thị đôi khi lại tự ẩn mà không rõ lý do. Nó sẽ hiện khi tôi nhập yes, nhưng khi tôi sử dụng nó sau này, nó lại bị ẩn, mặc dù giá trị ô vẫn là yes. Bất kỳ ý tưởng nào tại sao điều này có thể xảy ra và / hoặc làm thế nào để khắc phục nó?
Mã để tham khảo:
Private Sub Worksheet_Change (ByVal Target As Range) 'Ẩn / hiện trang Hiệu chỉnh
Nếu [B18] = "Có" Hoặc Target.Value = "Đúng" Thì
Trang tính ("Xác minh XXX"). Visible = True
Khác
Trang tính ("Xác minh XXX"). Hiển thị = Sai
Cuối Nếu

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
HiTôi có một sổ làm việc với nhiều tab được đặt tên được liên kết với một trang chỉ mục ở phía trước. Người dùng có thể chọn trang tính mà họ muốn sử dụng bằng cách chọn hộp bên cạnh tên trang tính - trống, N / A hoặc Có (danh sách thả xuống). Có cách nào điều chỉnh mã này để trang tính hiển thị nếu hộp kiểm trống hoặc chứa "Có" nhưng không hiển thị nếu hộp kiểm chứa "N / A".
Tôi đã thử nhưng không biết đủ về VBA để làm cho nó hoạt động. Thanks
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang tìm cách ẩn hoặc hiện trang tính dựa trên giá trị ô (Có / Không). Các giá trị nằm trong bảng (tblFileContents) và cột D4: D25 và tên trang tính ở A4: A25 trên trang tính . Thứ tự của các mặt hàng có thể được thay đổi. Bạn có tham khảo một ví dụ nào cho phép tôi làm điều này không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi gặp vấn đề tương tự và một người khác đã cung cấp giải pháp.
Tạo bảng (định dạng như bảng) gồm 2 cột, đặt tên cột bên trái Trang tính hiển thị / ẩn, cột bên phải tùy bạn. Đặt tất cả tên trang tính ở cột bên trái
Sau đó chọn Mã Chế độ xem cho tab này và nhập Dim Changed As Range, c As Range, rMTS As Range
Dim i As Long
Dim bShowAll dưới dạng Boolean

Đặt rMTS = Range ("TblShowHide [Đánh dấu để hiển thị]")
Set Changed = Intersect (Target, rMTS)
Nếu không thay đổi thì không có gì
bShowAll = Len (rMTS.Cells (1) .Value)> 0
On Error Resume Next
Đối với i = 2 Đến rMTS.Rows.Count
Trang tính (Phạm vi ("TblShowHide [Hiển thị / Ẩn Trang tính]"). Ô (i). Giá trị) .Vible = IIf (bShowAll, True, Len (rMTS.Cells (i). Giá trị)> 0)
Tiếp theo
Về lỗi GoTo 0
Cuối Nếu
End Sub


Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi sẽ thử. Cám ơn rất nhiều!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi không chắc mình cần thay đổi điều gì nhưng nó không phù hợp với tôi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Jean,
vâng, tôi có một ví dụ mà tôi đính kèm ở đây. Đổi tên tệp thành example.xlsm (nó không được nén, nhưng phải đổi tên để tải lên)
Trên tab menu có một bảng với các tên tab khác nhau, hãy tạo một dấu x hoặc bất kỳ ký tự nào khác để hiển thị tab, nếu bạn xóa ký tự, tab sẽ ẩn.
Mong rằng sẽ giúp
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này chứa một số mục nhưng không có tệp excel.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn có Menu / Mục lục làm trang tính đầu tiên của mình và dựa trên các câu trả lời Có / Không - một số trang tính nhất định xuất hiện tức là có nhiều hơn 1 hiển thị.
Tôi đang đấu tranh để có một số trang tính xuất hiện dựa trên đoạn mã trên.
Tôi có thể sử dụng hàm AND, ví dụ: If X cell = "Yes" Then Hiển thị Trang tính Y và Trang tính Z và Trang tính K?
Bất kỳ lời khuyên rất hoan nghênh.
Trân trọng
Helen
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
А я вот не могу понять, как такое сделать в гугл таблицах именно?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào bạn,

Bạn có thể mở một trang tính Google mới, thêm một trang tính mới để có một "Trang tính1" và một "Trang tính2", sau đó vào Tools> Script Editor. Trong trình chỉnh sửa, hãy dán nội dung sau.

function myFunction () {
var ss = SpreadsheetApp.getActiveS Spreadsheet ();
var sheet1 = ss.getSheetByName ("Sheet1");
var sheet2 = ss.getSheetByName ("Sheet2");

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

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

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

Xin vui lòng có một thử.

Trân trọng,
Mandy
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã này hoạt động tốt, Tuy nhiên, tôi có 42 biến cho 70 trang tính nên mã này rất dài và ngừng hoạt động. Có cách nào để tạo mã này trong các phần để không vượt quá kích thước mã mà VBA có thể xử lý? Hay tôi phải chia chúng thành hai ưu thế riêng biệt?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Liz
Xin lỗi, hiện tại, không có cách nào tốt để giải quyết vấn đề của bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi có một giá trị trong Ô B1 mà nếu có sẽ hiển thị sheet1 nhưng cũng có một giá trị trong B2, nếu có sẽ hiển thị Sheet2, v.v. 10 tờ khác nhau? cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Andy,
Để giải quyết vấn đề của bạn, vui lòng áp dụng mã dưới đây:
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

Chú thích: Trong đoạn mã trên, bạn chỉ cần sao chép đoạn mã bên dưới nhiều lần và thay đổi tham chiếu ô và tên trang tính thành tên của riêng bạn.
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If


Xin vui lòng có một thử, hy vọng nó có thể giúp bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang gặp sự cố trong đó tôi muốn tab hiển thị cho một loạt giá trị, thay vì chỉ CÓ hoặc KHÔNG. Khi tôi cố gắng lặp lại câu lệnh IF trong phần phụ, nó báo lỗi và khi tôi cố gắng liệt kê nhiều giá trị trong câu lệnh if, tôi gặp lỗi. Bất kỳ ý tưởng?

Có vẻ như tôi cần sử dụng câu lệnh IF/OR nhưng không chắc nó sẽ hoạt động như thế nào.

Private Sub Worksheet_Change (ByVal Target As Range)
Nếu [K6] = "VS 1", "VS 2", "VS 3", VS 4" Thì
Trang tính ("Trang 6"). Visible = True
Khác
Trang tính ("Trang 6"). Hiển thị = Sai
Cuối Nếu
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Margaret,
Để giải quyết vấn đề của bạn, vui lòng áp dụng mã bên dưới, bạn nên sử dụng Hoặc để tham gia các điều kiện.
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

Xin vui lòng có một thử, hy vọng nó có thể giúp bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Skyyang - điều này hoạt động hoàn hảo. Cảm ơn bạn đã phản ứng nhanh chóng của bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang cố gắng sử dụng cái này nhưng nó xuất hiện "lỗi biên dịch - không thể tìm thấy dự án hoặc thư viện" và làm nổi bật ô có menu thả xuống Có/Không. Tôi nghĩ rằng có thể là do đây là một ô được hợp nhất, có cách nào khác không?
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL