Thêm 1 cách cho bạn tham khảo:Hiện tại mình có bảng tính (gởi kèm bên dưới). Nhờ Anh/Chị giúp giùm vấn đề: Tạo ra một danh sách (List) mà chỉ có những người thỏa mãn điều kiện là "x" ở cột "có tham gia" .
Xin cảm ơn nhiều !
Sub abc()
Dim a
Application.ScreenUpdating = False
With Range("B4")
.AutoFilter Field:=2, Criteria1:="=x"
.CurrentRegion.SpecialCells(12).Select
End With
Selection.Copy Range("H4")
a = Range("H4").CurrentRegion
Range("H4").CurrentRegion.ClearContents
Application.CutCopyMode = False
Selection.AutoFilter
Range("H4").Resize(UBound(a), 2).Value = a
Application.ScreenUpdating = True
End Sub
Xin chào các bạn,
Mình cũng có một câu hỏi tương tự muốn hỏi như sau, mong nhận được sự giúp đỡ của các bạn:
Mình đang có một số vướng mắc về cách lọc thông tin trong macro như sau: Mình có một bảng dữ liệu đấu nguồn gồm nhiều cột mình muốn lọc như sau:[TABLE="width: 500"]
[TR]
[TD]Ngõ vào[/TD]
[TD]CB_nguồn[/TD]
[/TR]
[TR]
[TD]A[/TD]
[TD]RNAC[/TD]
[/TR]
[TR]
[TD]A[/TD]
[TD]RNBC[/TD]
[/TR]
[TR]
[TD]B[/TD]
[TD]RNAC[/TD]
[/TR]
[TR]
[TD]B[/TD]
[TD]RNBC[/TD]
[/TR]
[/TABLE]
Vậy làm cách nào để mình có thể lọc được từng trường hợp, cụ thể là:A với RNAC, A với RNBC, B với RNAC, B với RNBC. Vì mình muốn sau khi lọc ra từng trường hợp sẽ dùng bảng tính sau khi lọc copy ra một sheet khác để xử lý. Thêm nữa, hiện mình đang post câu hỏi này lên diễn đàn cụ thể tiêu đề là:Nhờ giúp đỡ thực hiện: Biên dịch bảng dữ liệu đấu nối thành hình vẽ đơn giản
Nên khi nào các bạn có thời gian rảnh, xin vui lòng hướng dẫn giúp mình nhé. Mình cảm ơn!
Chủ topic cẩn thận với thực phẩm chức năng CurrentRegion này nha. Rất LỢI HẠI đó...Paste vào sheet1
Mã:Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False If Not Intersect(Target, Range("C5:C" & Range("B65000").End(3).Row)) Is Nothing Then Dim Arr, Tem, dArr, I As Long, K As Long Arr = Range("B4").CurrentRegion.Value .....
Chào bạn,Xin chào các bạn,
Mình cũng có một câu hỏi tương tự muốn hỏi như sau, mong nhận được sự giúp đỡ của các bạn:
Mình đang có một số vướng mắc về cách lọc thông tin trong macro như sau: Mình có một bảng dữ liệu đấu nguồn gồm nhiều cột mình muốn lọc như sau:[TABLE="width: 500"]
[TR]
[TD]Ngõ vào[/TD]
[TD]CB_nguồn[/TD]
[/TR]
[TR]
[TD]A[/TD]
[TD]RNAC[/TD]
[/TR]
[TR]
[TD]A[/TD]
[TD]RNBC[/TD]
[/TR]
[TR]
[TD]B[/TD]
[TD]RNAC[/TD]
[/TR]
[TR]
[TD]B[/TD]
[TD]RNBC[/TD]
[/TR]
[/TABLE]
Vậy làm cách nào để mình có thể lọc được từng trường hợp, cụ thể là:A với RNAC, A với RNBC, B với RNAC, B với RNBC. Vì mình muốn sau khi lọc ra từng trường hợp sẽ dùng bảng tính sau khi lọc copy ra một sheet khác để xử lý. Thêm nữa, hiện mình đang post câu hỏi này lên diễn đàn cụ thể tiêu đề là:Nhờ giúp đỡ thực hiện: Biên dịch bảng dữ liệu đấu nối thành hình vẽ đơn giản
Nên khi nào các bạn có thời gian rảnh, xin vui lòng hướng dẫn giúp mình nhé. Mình cảm ơn!
thử xem file xem saoanh chị nào đi qua giúp mình một tay với. Xin cảm ơn !
Run-time error 1004 : Application - defined or object-defined error
Range("AA5").Resize(K).Value = dArr
Giá trị của k mặc định là = 0, khi có dấu "X" thì nó mới được tăng giá trị. nên khi bạn xóa hết "X" thì k = 0, ko có kiểu resize (0) cả. Bạn thêm dòng if k > 0 then ... là xongKhi áp dụng đoạn code tại bài #12. Mình xóa hết các giá trị "x" tại cột C thì bị báo lỗi:
Mã:Run-time error 1004 : Application - defined or object-defined error
và báo lỗi tại dòng
Mã:Range("AA5").Resize(K).Value = dArr
Mong mọi người giải quyết lỗi giùm mình với. Xin cám ơn !
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim Rws As Long, I As Long, K As Long
Dim Arr, Tem, dArr
Rws = [B5].CurrentRegion.Rows.Count
If Not Intersect(Target, [c5].Resize(Rws)) Is Nothing Then
Arr = Range("B4").CurrentRegion.Value
ReDim dArr(1 To UBound(Arr), 1 To 1)
For I = 1 To UBound(Arr)
If Arr(I, 2) = "x" Then
K = K + 1
dArr(K, 1) = Arr(I, 1)
End If
Next I
Range("AA5:AA1000").ClearContents
Range("E5").Validation.Delete
If K < 1 Then Exit Sub
Range("AA5").Resize(K).Value = dArr
Range("AA5").Resize(K).Name = "LIST"
Range("E5").Validation.Add 3, , , "=LIST"
End If
Application.ScreenUpdating = True
End Sub