Lọc dữ liệu từ sheet tổng sang sheet khác (1 người xem)

  • Thread starter Thread starter tueanh82
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

tueanh82

Thành viên mới
Tham gia
6/8/14
Bài viết
5
Được thích
2
Chào các bạn

Mình loay hoay với file này cả tuần nay mà không biết làm thế nào. Mình gửi lên đây nhờ các cao thủ hỗ trợ một tay.

Khi hoàn tất file này mình sẽ có những câu trả lời với tính điểm từ 1 đến 5. Giờ mình muốn chuyển tất cả những câu trả lời là 1 sang sheet Immediate Action, 2 sang sheet Future Action, 3 sang sheet Future Discussion, 4 sang sheet Good Performance và 5 sang sheet Leading Practice.

Mình được biết cái này có thể dùng VBA nhưng mình không biết viết như thế nào. Nhờ các bạn giúp đỡ.

Mình cảm ơn nhiều!
 

File đính kèm

Chào các bạn

Mình loay hoay với file này cả tuần nay mà không biết làm thế nào. Mình gửi lên đây nhờ các cao thủ hỗ trợ một tay.

Khi hoàn tất file này mình sẽ có những câu trả lời với tính điểm từ 1 đến 5. Giờ mình muốn chuyển tất cả những câu trả lời là 1 sang sheet Immediate Action, 2 sang sheet Future Action, 3 sang sheet Future Discussion, 4 sang sheet Good Performance và 5 sang sheet Leading Practice.

Mình được biết cái này có thể dùng VBA nhưng mình không biết viết như thế nào. Nhờ các bạn giúp đỡ.

Mình cảm ơn nhiều!

hơi dài, nhưng chắc xài tạm cũng ổn
Mã:
Sub Tach()
Dim source As Variant, kq1(), kq2(), kq3(), kq4(), kq5(), i, j, k1, k2, k3, k4, k5 As Long


Sheet3.[b3:i60000].ClearContents
Sheet4.[b3:i60000].ClearContents
Sheet5.[b3:i60000].ClearContents
Sheet6.[b3:i60000].ClearContents
Sheet7.[b3:i60000].ClearContents

source = Sheet2.[b14:I116].Value
ReDim kq1(1 To UBound(source), 1 To UBound(source, 2))
ReDim kq2(1 To UBound(source), 1 To UBound(source, 2))
ReDim kq3(1 To UBound(source), 1 To UBound(source, 2))
ReDim kq4(1 To UBound(source), 1 To UBound(source, 2))
ReDim kq5(1 To UBound(source), 1 To UBound(source, 2))

For i = 1 To UBound(source)
        If source(i, 3) = 1 Then k1 = k1 + 1
        If source(i, 3) = 2 Then k2 = k2 + 1
        If source(i, 3) = 3 Then k3 = k3 + 1
        If source(i, 3) = 4 Then k4 = k4 + 1
        If source(i, 3) = 5 Then k5 = k5 + 1
        
        For j = 1 To UBound(source, 2)
            If source(i, 3) = 1 Then kq1(k1, j) = source(i, j)
            If source(i, 3) = 2 Then kq2(k2, j) = source(i, j)
            If source(i, 3) = 3 Then kq3(k3, j) = source(i, j)
            If source(i, 3) = 4 Then kq4(k4, j) = source(i, j)
            If source(i, 3) = 5 Then kq5(k5, j) = source(i, j)
        Next j
Next i
If k1 Then Sheet3.[b3].Resize(k1, 8).Value = kq1
If k2 Then Sheet4.[b3].Resize(k2, 8).Value = kq2
If k3 Then Sheet5.[b3].Resize(k3, 8).Value = kq3
If k4 Then Sheet6.[b3].Resize(k4, 8).Value = kq4
If k5 Then Sheet7.[b3].Resize(k5, 8).Value = kq5

End Sub
 
Cảm ơn Let'sGâuGâu nhiều!
 
Chào các bạn

Mình loay hoay với file này cả tuần nay mà không biết làm thế nào. Mình gửi lên đây nhờ các cao thủ hỗ trợ một tay.

Khi hoàn tất file này mình sẽ có những câu trả lời với tính điểm từ 1 đến 5. Giờ mình muốn chuyển tất cả những câu trả lời là 1 sang sheet Immediate Action, 2 sang sheet Future Action, 3 sang sheet Future Discussion, 4 sang sheet Good Performance và 5 sang sheet Leading Practice.

Mình được biết cái này có thể dùng VBA nhưng mình không biết viết như thế nào. Nhờ các bạn giúp đỡ.

Mình cảm ơn nhiều!
Bạn tải file xem được không ?
 

File đính kèm

Bạn Let'sGâuGâu ơi đã thương thì thương cho chót. Cho mình hỏi hơi ngu 1 tẹo.
Với bảng này mình muốn các sheet khác tự chạy khi dữ liệu ở bảng tổng hợp thay đổi thì mình phải làm thế nào?
Cảm ơn
Let'sGâuGâu nhiều nhiều nhiều!
 
Cảm ơn Ngoai Thanh nhiều!

Bạn có thể giúp mình bảng chạy tự động khi sheet chính thay đổi dữ liệu được không?
Cảm ơn nhiều nhiều nhiều!
 

File đính kèm

Bạn thử file sau xem được chưa nhé .
Theo ý riêng của mình thì dùng sự kiện SheetActivate của WorkBook để kích hoạt code này
PHP:
Sub loc()
With ActiveSheet
   If .CodeName <> "Sheet1" Then
      If .CodeName <> "Sheet2" Then
         If .CodeName <> "Sheet8" Then
            Range("A5:I10000").Clear
            Sheet2.[A14:I20000].AdvancedFilter 2, [B1:B2], [A5]
         End If
      End If
   End If
End With
End Sub
 
Lần chỉnh sửa cuối:
Theo ý riêng của mình thì dùng sự kiện SheetActivate của WorkBook để kích hoạt code này
PHP:
Sub loc()
With activecheet
   If .CodeName <> "Sheet1" Then
      If .CodeName <> "Sheet2" Then
         If .CodeName <> "Sheet8" Then
            Range("A5:I10000").Clear
            Sheet2.[A14:I20000].AdvancedFilter 2, [B1:B2], [A5]
         End If
      End If
   End If
End With
End Sub
Công nhận Quang Hải nhiều ý tưởng :
Nếu là con gái đứng sang một bên
Còn tất cả con trai : ... chạy !
 
!!!!!!!!!!!!!!!!!!! tự nhiên mất điện thành ra up 2 lần !
 
Bạn Let'sGâuGâu ơi đã thương thì thương cho chót. Cho mình hỏi hơi ngu 1 tẹo.
Với bảng này mình muốn các sheet khác tự chạy khi dữ liệu ở bảng tổng hợp thay đổi thì mình phải làm thế nào?
Cảm ơn
Let'sGâuGâu nhiều nhiều nhiều!
Với file chưa có code gì hết thì bạn làm thế này nha
Bấm phím Alt +F11
Nhìn bên trái thấy chữ ThisWorkBook. Nhấp đôi chuột vào đối tượng này sẽ hiên ra 1 cửa sổ
Copy code dán đè vào tất cả những gì có trong đó
PHP:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
With ThisWorkbook.ActiveSheet
   If .CodeName <> "Sheet1" Then
      If .CodeName <> "Sheet2" Then
         If .CodeName <> "Sheet8" Then
            Range("A5:I10000").Clear
            Sheet2.[A14:I20000].AdvancedFilter 2, [B1:B2], [A5]
         End If
      End If
   End If
End With
End Sub
Up file luôn cho chắc ăn
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn các bạn rất rất nhiều!
 

Bài viết mới nhất

Back
Top Bottom