tự động hide/unhide trong excel?

Liên hệ QC
xin hỏi khi ẩn một hàng hoặc một cột mà có giá trị là một con số thì khi sum lại có cách nào không cho cộng giá trị ẩn được ko? xin cám ơn nhiều
 
Bạn dùng công thức này:
PHP:
Function SumVisible(Rng As Range) Dim VCel As Range Dim Temp As Double For Each VCel In Rng If Not VCel.Rows.Hidden And Not VCel.Columns.Hidden Then Temp = Temp + VCel Next SumVisible = Temp End Function
Lấy từ kiến thức của bác ndu96081631 đó! Link: http://www.giaiphapexcel.com/forum/showthread.php?t=13454 Thân.
 
Lần chỉnh sửa cuối:
xin anh ndu96081631 cho em hỏi trong một ô trong excel mình có nhiều dòng và có một nút giống nút autofilter nhưng nó nằm về phía bên phải của một ô. ví dụ trong một ô có 4 dòng mình bấm và nút 1 thì 3 dòng kia không thấy.xin các anh chỉ giúp cám ơn nhiều!
 
Cái bạn nói chắc là AutoFilter đúng không? Bạn thử quét chọn 1 vùng từ 1 đến 4 đó rồi vào Data -> Filter -> AutoFilter. Rồi Click lên ô đầu xem sẽ thấy có 1 nút tam giác bên phải, bạn nhấn xuống chọn 1 số thì các số kia sẽ bị ẩn đi. Thân.
 
Lần chỉnh sửa cuối:
xin anh ndu96081631 cho em hỏi trong một ô trong excel mình có nhiều dòng và có một nút giống nút autofilter nhưng nó nằm về phía bên phải của một ô. ví dụ trong một ô có 4 dòng mình bấm và nút 1 thì 3 dòng kia không thấy.xin các anh chỉ giúp cám ơn nhiều!
Đó gọi là Validation (nằm trong menu Data\Validation)
Bạn search trên diển đàn từ khóa VALIDATION, đãm bảo có đầy
---------------------
Bạn dùng công thức này:
PHP:
Function SumVisible(Rng As Range)
Dim VCel As Range
Dim Temp As Double
For Each VCel In Rng
If Not VCel.Rows.Hidden And Not VCel.Columns.Hidden Then Temp = Temp + VCel
Next
SumVisible = Temp
End Function
Lấy từ kiến thức của bác ndu96081631 đó!
Link: http://www.giaiphapexcel.com/forum/showthread.php?t=13454
Thân.
Cái này nhớ thêm dòng Application.Volatile vào đầu code nhé (nếu không khi ta ẩn dòng nó chả cập nhật đâu)
 
không phải như vậy anh pikachu ơi ý em hỏi là các số thứ tự đó nằm trong một hàng.bình thường anh không lick vào ô A1 thì nó có số thứ tự là 1 hoặc 2,3,4 gì đó,nhưng khi anh lick vào ô Á sẽ có một autofiter ở bên góc trái ô A1. khi lick vào autofiter đó thì sẽ thấy tất cả các số 1,2,3,4 và tuỳ ý nình chọn số nào. xin anh chỉ giúp!
 
Không phải Autofilter thì chỉ còn có Validation thôi. Theo mình thì mình hay dùng cách này: Bạn vào Insert -> Name -> Define -> ô đầu bạn đặt cho nó 1 cái tên (Ví dụ là Ten). Rồi ở dòng Refers to: Bạn quét chọn vùng dữ liệu chứa số thứ tự kia => OK. Rồi nhấp vào ô A1 -> Vào Data -> Validation -> mục Allow: chọn List -> mục Source: bạn gõ =Ten -> OK. Vậy chắc được rồi đó! Thân.
 
Lần chỉnh sửa cuối:
không phải như vậy anh pikachu ơi ý em hỏi là các số thứ tự đó nằm trong một hàng.bình thường anh không lick vào ô A1 thì nó có số thứ tự là 1 hoặc 2,3,4 gì đó,nhưng khi anh lick vào ô Á sẽ có một autofiter ở bên góc trái ô A1. khi lick vào autofiter đó thì sẽ thấy tất cả các số 1,2,3,4 và tuỳ ý nình chọn số nào. xin anh chỉ giúp!
Không biết có giống vầy không?
 

File đính kèm

  • Validation_01.xls
    15 KB · Đọc: 76
PHP:
Private Sub Worksheet_Activate()
''Me.ScrollArea = "A1:Y70"
   Dim Rng As Range
   Set Rng = [Y8].CurrentRegion
   Rng.AutoFilter Field:=25, Criteria1:="FALSE"
End Sub
[/quote]

Hi bác Po_Pikachu,

Cám ơn bác đã giúp, tôi đã paste đoạn code trên của bác vào, nhưng chẳng hiểu sao mỗi lần mở file nó vẫn không thực thi bác à. Nhờ bác xem lại giùm mình nhé. Có cách nào không dùng autofilter không bác?
 
Ngoài cách trên vẫn còn cách khác nhưng không hay bằng cách trên đâu! Bạn tải lại file ở top #20, rồi xem thử nha! Bạn có thể thay bằng code dười để có được như yêu cầu.
PHP:
Private Sub Worksheet_Activate() Set vung = Range("Y11:Y33") For Each Rng In vung     If Rng.Value = "True" Then     Rows(Rng.Row).EntireRow.Hidden = True     End If Next End Sub
Thân.
 
Lần chỉnh sửa cuối:
Chào các bác Pro.
Mình mới tham gia diễn đàn nhưng đang gặp khó khăn cho một form quản lý kho mà mình đang làm kế hoạch quản lý để trình lên xếp.
vấn đề là như sau mình tạo một bảng báo giá bao gồm tất cả nhứng mặt hàng mà mình có và ở sheet khác là sheet P. báo giá thì mình đã cài sẵn công thức chỉ cần nhập mã hàng thì sẽ tự động tính toán các tham chiếu để đưa số liệu ra phiếu báo giá
tuy nhiên phiếu báo giá thì không phải lúc nào cũng nhiều mặt hàng mà mình lại để dự phòng những dòng khác trong truờng hợp phải báo giá nhiều mặt hàng. vấn đề của mình là làm sao để các dòng trong phiếu báo giá tự ẩn khi mình ko nhập giá trị mà giá trị của nó đựơc mặc định như công thức ban đầu #N/A và nếu có giá trị nó sẽ tự động hiện lên khi mình in báo giá.
Nhờ các pro giúp mình với.
cảm ơn nhièu nhiều....
File đính kèm nè :
 
file exel của mình sao tự động ẩn một vài dòng hoài, mình dâu có đặt lệnh ẩn đâu, mà mình chọn unhide nó cũng ko chịu ra, chỉ có năm kéo nó mới ra, ai biết chỉ giúp mình với.
Cảm ơn :)
 
ile exel của mình sao tự động ẩn một vài dòng hoài, mình dâu có đặt lệnh ẩn đâu, mà mình chọn unhide nó cũng ko chịu ra, chỉ có năm kéo nó mới ra, ai biết chỉ giúp mình với.
Cảm ơn :)
Thì ít nhất phải gữi file lên mới biết là nguyên nhân gì chứ
 
Theo tôi trường hợp của bạn như thế này. Các dòng có hight quá nhỏ mắt thường nhìn thấy nó ẩn, nhưng thực ra nó có ẩn đâu.
Bạn nên chọn tất cả các dòng bằng chuột sau đó click vào đầu số dòng (Auto fit) các dòng sẽ trở về mặc định.
Xem đoạn code do macro ghi lai sau:
Mã:
Rows("8:8").Select
    Selection.RowHeight = 0.1
    Rows("12:12").Select
    Selection.RowHeight = 0.1
    Rows("16:16").Select
    Selection.RowHeight = 0
    Rows("20:20").Select
    Selection.EntireRow.Hidden = True
    Rows("5:28").Select
    Selection.EntireRow.Hidden = False
Đoạn này:

Selection.EntireRow.Hidden = True
Đã được Unhide dòng 16 và dòng 20

Như vậy khi cần ẩn dòng ta có thể sử dụng 1 trong 2 cách này được không bác ndu ?
 
dòng 7-dòng 14, ẩn hiện hoài- khi mình lọc theo tháng (cột cuối ) rồi chọn lại không lọc nữa thì bị .
 
Lần chỉnh sửa cuối:
mình đầu tiên tải file lên máy, chưa rõ lắm có j sai sót, mọi người thứ lỗi và chỉ giúp nhé .
 
thê thì tại
G15 chẳng hạn có công thức =H1
tại H1 gõ 0 hoặc 1 (khác 0 là được) -> ẩn hoặc hiện dòng 15

thì CODE thế này

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect([H1], Target) Is Nothing Then
            If [G15].Value = 0 Then
                Rows("15:15").EntireRow.Hidden = True
            Else: Rows("15:15").EntireRow.Hidden = False: End If
      End If
End Sub

down file gửi kèm
Nếu như một vùng giả sử như từ Y10 đến Y30 có giá trị nào = 0 thì ẩn nguyên dòng đó thì làm thế nào bạn
 
Sao lai phai di long vong the, ban click vao bỏ dấu tick "0 " la dc thôi
 
Web KT
Back
Top Bottom