Các pro ơi, có cách nào để tự động hide một dòng nào đấy
vd nếu ô G15 bằng 0 thì hide dòng 15 đi, nếu khác 0 thì để nguyên.
regard.
Nếu hide rồi phải có lệnh gì unhide dòng 15 mới nhập liệu vào G15 hay là nhập vào A1 thì unhide. Khó hiểu quá.ko tớ chỉ muốn hide duy nhất dòng 15 thôi
He... he... Đúng như ThuNghi nói, nếu dòng 15 đã ẩn rồi thì bạn làm sao nhập giá trị vào cho nó hiện trở lại đây?
Rất có thể G15 phải là 1 công thức tham chiếu đến 1 cell khác chứ nhỉ? Nếu đúng vậy thì còn có cách!
ANH TUẤN
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
KT = $G$15=0
Private Sub Worksheet_Change(ByVal Target As Range)
KT = Evaluate("KT")
If Target.Address = "$H$1" Then
Rows("15:15").EntireRow.Hidden = KT
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([H1], Target) Is Nothing Then
Rows("15:15").EntireRow.Hidden = [G15].Value = 0
End If
End Sub
Bạn chọn vùng cần copy (vùng có chứa cell ẩn)... Bấm Ctrl + G, chọn Special\Visible Cells Only, OK... Tiếp theo bấm Ctrl + C để copy... sang vùng cần Paste, bấm Ctrl + VBạn ởi,khi ẩn đi rồi,muốn copy dữ liệu vào côt hoặc dòng (chứa cả cột hoặc dòng ẩn đó) nhưng chỉ muốn copy vào những dòng hiện thôi thì làm thế nào ban?
Đương nhiên là được, nhưng xin bạn nói cụ thể 1 chút:Các Bro ơi! làm ơn chỉ cho tớ nếu H1 nằm ở Sheet khác!
Và đặc biệt là tớ không có tác động vào ô H1 gì cả thì nó có hide không?
Ái chà chà... Cái này thì bạn AutoFilter\Custom\Does not Equal = 0 là xong chứ gìHi,
Xin nói lại:
Tôi muốn nếu ô A1 có giá trị bằng 0 thì tự động hide nguyên dòng đó.
Trong ô A1 chứa công thức!
Nếu vẫn chưa rõ xin xem file dính kèm. Xem Sheet Printform, hy vọng rất rõ ràng ! tôi muốn hide những dòng đó
Thanks
Ái chà chà... Cái này thì bạn AutoFilter\Custom\Does not Equal = 0 là xong chứ gì
Muốn "tự động" thì ghi nó thành 1 macro
Nói chung: Cái gì ta làm "bằng tay" được thì gần như có thể "tự động hóa" nó được... Chính vì thế mà vấn đề đặt ra là: phải nghĩ rằng công việc ta nêu ra liệu có thể làm bằng tay được không?
Chài... ai... Hướng dẩn trên là quá rõ rồi còn gì... Quy trình là thế, còn việc "tự động" còn lại phải thuộc về bạn chứ!Sorry, tự động hoàn toàn cơ! Tớ không muốn làm gì phải bấm bấm như cách bạn nói!
Nhu cầu là như thế, vì nếu mà ghi macro theo cách vậy rồi lại phải bấm cho chạy macro đó mất công lắm!
Tớ làm dữ liệu ở một sheet kế bên và chỉ việc in ra cái form này! Bạn rõ chứ?
Option Explicit
Private Sub Worksheet_Activate()
Dim Rng As Range
Set Rng = [A8].CurrentRegion
Rng.AutoFilter Field:=1, Criteria1:="<>0"
End Sub
THế thì thế này, khỏi name lun
PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([H1], Target) Is Nothing Then Rows("15:15").EntireRow.Hidden = [G15].Value = 0 End If End Sub
Private Sub Worksheet_Activate() ''Me.ScrollArea = "A1:Y70" Dim Rng As Range Set Rng = [Y8].CurrentRegion Rng.AutoFilter Field:=25, Criteria1:="FALSE" End Sub
Lúc đó bạn đừng dùng SUM mà dùng SUBTOTAL(109, vùng chọn)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
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
Đó gọi là Validation (nằm trong menu Data\Validation)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 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)Bạn dùng công thức này:
Lấy từ kiến thức của bác ndu96081631 đó!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
Link: http://www.giaiphapexcel.com/forum/showthread.php?t=13454
Thân.
Không biết có giống vầy không?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!
Private Sub Worksheet_Activate()
''Me.ScrollArea = "A1:Y70"
Dim Rng As Range
Set Rng = [Y8].CurrentRegion
Rng.AutoFilter Field:=25, Criteria1:="FALSE"
End Sub
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ì ít nhất phải gữi file lên mới biết là nguyên nhân gì chứ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![]()
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
vàSelection.RowHeight = 0
Đã được Unhide dòng 16 và dòng 20Selection.EntireRow.Hidden = True
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ạnthê 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
Khi nhập giá trị khác 0 vào hàng có giá trị bằng 0 trước đó, thì làm sao để show hàng đó ra trở lại à?Chài... ai... Hướng dẩn trên là quá rõ rồi còn gì... Quy trình là thế, còn việc "tự động" còn lại phải thuộc về bạn chứ!
Nếu là tôi thì tôi sẽ:
- Record macro quá trình AutoFilter theo điều kiện
- Xem code, chỉnh sửa lại cho gọn
- Tiếp theo sẽ đặt code vào 1 sự kiện nào đó mà tôi cho là hợp lý để tự động hóa hoàn toàn công việc
Code sơ bộ:
Với file đính kèm này, nếu bạn thay đổi dử liệu ở nguồn, thì mổi khi bạn chọn vào sheet PrintForm bạn sẽ thấy việc Hide row được tự động hóa hoàn toànPHP:Option Explicit Private Sub Worksheet_Activate() Dim Rng As Range Set Rng = [A8].CurrentRegion Rng.AutoFilter Field:=1, Criteria1:="<>0" End Sub
Làm thế nào để AutoFilter ở nhiều bảng khác nhau trong cùng 1 Sheet ạ?Khi nhập giá trị khác 0 vào hàng có giá trị bằng 0 trước đó, thì làm sao để show hàng đó ra trở lại à?
thế cho e hỏi nếu bảng tính e có 100 dòng...nhưng dữ liệu chỉ có 5 dòng vậy làm sao ẩn hết 95 dòng k có dữ liệu ạGiải pháp theo p/a thử
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
Có File là làm được hết.thế cho e hỏi nếu bảng tính e có 100 dòng...nhưng dữ liệu chỉ có 5 dòng vậy làm sao ẩn hết 95 dòng k có dữ liệu ạ
Dùng Filter nhé, AutoFilter, hay Advanced Filterthế cho e hỏi nếu bảng tính e có 100 dòng...nhưng dữ liệu chỉ có 5 dòng vậy làm sao ẩn hết 95 dòng k có dữ liệu ạ
file đây ạ...e cần code để tự động hide/unhide ở sheet 1 ạ...e có video cụ thể nếu cần e gửi ạCó File là làm được hết.
Bạn xem file và Link lại số liệufile đây ạ...e cần code để tự động hide/unhide ở sheet 1 ạ
Có File là làm được hết.
không phải như vậy đâu bạn...bạn có gmail hay zalo không mình gửi video bạn xem nhaBạn xem file và Link lại số liệu
Có phải bạn muốn lọc từ sheet Tổng về Sheet Bảng TDGH với điều kiện thỏa mãn từ ngày đến ngày trên cell N1, O1 sheet Bảng TDGH ?file đây ạ...e cần code để tự động hide/unhide ở sheet 1 ạ...e có video cụ thể nếu cần e gửi ạ
đúng rồi bạn...khi thỏa mãn điều kiện thì có thể có nhiều dòng có dữ liệu...còn lại những dòng không có dữ liệu thì tự động hideCó phải bạn muốn lọc từ sheet Tổng về Sheet Bảng TDGH với điều kiện thỏa mãn từ ngày đến ngày trên cell N1, O1 sheet Bảng TDGH ?
Vậy thì đây là bài toán lọc có điều kiện, chứ ko phải hide/unhide.đúng rồi bạn...khi thỏa mãn điều kiện thì có thể có nhiều dòng có dữ liệu...còn lại những dòng không có dữ liệu thì tự động hide
VBA như nào đấy bạnVậy thì đây là bài toán lọc có điều kiện, chứ ko phải hide/unhide.
Bạn biết dùng advanced filter ko? Đấy là 1 giải pháp, chỉ có điều cần cơ cấu lại các trường thông tin bên sheet Bảng TDGH, sao cho tên các trường cần lấy giống hệt bên sheet Tổng, và ko được merge cell.
Còn nếu muốn giữ nguyên kết cấu của Bảng TDGH thì chỉ có thể dùng VBA
Bạn nên mở 1 thớt mới để hỏi, sẽ có nhiều giải pháp cho bạn.VBA như nào đấy bạn
Các bác giúp e với, trường hợp H1 ở sheet1 = tham chiếu từ i1 ở sheet2 sang thì code tnao ạh. E test code như trên nếu gõ ở 0-1 ở tại H1 (Sheet1) thì ok, nhưng tham chiếu H1 = Sheet2!I1 thì k chạy ạk. Mong các cao nhân giúp đỡ ạh. Thanks all...!Giải pháp theo p/a thử
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
Thì đổi sang WorkSheet_Change của Sheet2Các bác giúp e với, trường hợp H1 ở sheet1 = tham chiếu từ i1 ở sheet2 sang thì code tnao ạh. E test code như trên nếu gõ ở 0-1 ở tại H1 (Sheet1) thì ok, nhưng tham chiếu H1 = Sheet2!I1 thì k chạy ạk. Mong các cao nhân giúp đỡ ạh. Thanks all...!
e mới làm nữa chưa biết đổi tnao, biết hướng dẫn chi tiết hoặc hộ e đoạn code đó đc k. Thanks bác nhiều...!Thì đổi sang WorkSheet_Change của Sheet2
và đổi vai trò H1 thành I1
Tức là luôn phải tìm cái gốc thay đổi
Ban cho mình hỏi: mình cũng tạo macro, cũng code VBA xong và Save lại nhưng khi tắt đi mở lại thấy macro và code không được lưu, nhờ bạn hướng dẫn giúp.Chài... ai... Hướng dẩn trên là quá rõ rồi còn gì... Quy trình là thế, còn việc "tự động" còn lại phải thuộc về bạn chứ!
Nếu là tôi thì tôi sẽ:
- Record macro quá trình AutoFilter theo điều kiện
- Xem code, chỉnh sửa lại cho gọn
- Tiếp theo sẽ đặt code vào 1 sự kiện nào đó mà tôi cho là hợp lý để tự động hóa hoàn toàn công việc
Code sơ bộ:
Với file đính kèm này, nếu bạn thay đổi dử liệu ở nguồn, thì mổi khi bạn chọn vào sheet PrintForm bạn sẽ thấy việc Hide row được tự động hóa hoàn toànPHP:Option Explicit Private Sub Worksheet_Activate() Dim Rng As Range Set Rng = [A8].CurrentRegion Rng.AutoFilter Field:=1, Criteria1:="<>0" End Sub
Bạn xem lại phần cái đuôi của tên file, chắc sẽ OK!Ban cho mình hỏi: mình cũng tạo macro, cũng code VBA xong và Save lại nhưng khi tắt đi mở lại thấy macro và code không được lưu, nhờ bạn hướng dẫn giúp.
Tệp của mình đuôi .xlsx như vậy phải đổi qua .xls hay sao ?Bạn xem lại phần cái đuôi của tên file, chắc sẽ OK!
Lưu tất cả sang .xlsb. file sẽ chạy được và rất nhẹ.Tệp của mình đuôi .xlsx như vậy phải đổi qua .xls hay sao ?