Phanhanhdai
Thành viên tiêu biểu

- Tham gia
- 16/3/08
- Bài viết
- 733
- Được thích
- 1,876
- Nghề nghiệp
- Thiết kế công trình

File đính kèm
Lần chỉnh sửa cuối:
Bạn xem trong file nhéEm xin nhờ các bác giúp em. Trong bảng tổng hợp của em là tổng hợp của rất nhiều các Công ty bây giờ em muốn tách theo dõi từng công ty ra từng bảng (Từ đó em có thể làm các sheet báo cáo riêng cho từng công ty. Xin cám ơn các bác.
Em xin nhờ các bác giúp em. Trong bảng tổng hợp của em là tổng hợp của rất nhiều các Công ty bây giờ em muốn tách theo dõi từng công ty ra từng bảng (Từ đó em có thể làm các sheet báo cáo riêng cho từng công ty. Xin cám ơn các bác.
em lại có một vấn đề muốn hỏi:
- Nếu bảng tách trên em tách ra sheet khác, sau đó em dùng Protection Sheet để bảo vệ sheet mới thì mỗi lần em thay đổi tên chủ đầu tư thì nó không tự động thực hiện được.
Muốn thế nào thì hãy post file lên mới có thể ... hợp lý và nhanh chóng- Nếu bảng trên em tách ra theo 2 điều kiện (gồm cả công ty và theo một tháng bất kỳ nữa) thì làm thế nào?
Mong các bác có ý kiến
Theo tôi bạn nên nghiên cứu Advance Filter, và nghiên cứu tiếp 1 Code để làm chuyện này. So easy!Em xin trân trọng gửi đến anh boxin file của em.
Cám ơn bạn Thu Nghi mình đã biết đến chức năng tổng hợp của lọc đặc biệt. Nhưng mình đang đi theo con đường tự cập nhật của bạn Salam và anh Boyxin vì mình thấy cách đó có thể cập nhật dữ liệu có thể nhìn được toàn cảnh rất hay.
Em mới bắt đầu học excel lên làm mãi mà chưa được. Anh Boyxin và các anh làm giúp em bài toán trên với. Cảm ơn các anh.
Bạn xem trong bài này nhé.Công thức độc đáoSalam giải thích hộ mình biến "-1" trong công thức này của bạn được ko?
==MATCH("*";Sheet1!$B:$B;-1) (Hay để nó =0 nên hok hiểu).
Em xin trân trọng gửi đến anh boxin file của em.
Sub Loc()
Dim iDL, i As Long, j As Long, Er As Long
Dim Cty As String, iCty As String
Sheet1.Range("F2:H500").ClearContents
j = 2
Er = Range("Sheet1!A65000").End(xlUp).Row
For i = 2 To Er
Cty = Range("Sheet1!E1").Value
iCty = Range("Sheet1!B" & i & ":B" & i).Value
Set DL = Range("Sheet1!A" & i & ":C" & i)
Set KQ = Range("Sheet1!F" & j & ":H" & j)
If iCty = Cty Then
DL.Value = KQ.Value
j = j + 1
End If
Next
End Sub
Em làm thế này sao không ra, nhờ mọi người chỉ giúp chỗ sai
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [E1]) Is Nothing Then
Dim Cls As Range, Rng As Range, Rw As Long
Set Rng = Range([B3], [B65500].End(xlUp))
Rw = Rng.Rows.Count
[F2].Resize(Rw, 4).ClearContents
For Each Cls In Rng
If Cls.Value = Target.Value Then
Cls.Offset(, -1).Resize(, 3).Copy Destination:=Cells(Rw, "F").End(xlUp).Offset(1)
End If
Next Cls
End If
End Sub
Em nhờ mọi người chỉ giúp chỗ sai
Sub Loc()
1 Dim iDL, i As Long, j As Long, Er As Long
Dim Cty As String, iCty As String
3 Sheet1.Range("F2:H500").ClearContents
j = 2
5 Er = Range("Sheet1!A65000").End(xlUp).Row
For i = 2 To Er
7 Cty = Range("Sheet1!E1").Value
iCty = Range("Sheet1!B" & i & ":B" & i).Value
9 Set DL = Range("Sheet1!A" & i & ":C" & i)
Set KQ = Range("Sheet1!F" & j & ":H" & j)
11 If iCty = Cty Then
DL.Value = KQ.Value
13 j = j + 1
End If
15 Next
End Sub
Sub Loc()
Dim iDL, i As Long, j As Long, eR As Long
Dim Cty As String, iCty As String
Sheet1.Range("F2:H500").ClearContents
eR = Range("Sheet1!A65000").End(xlUp).Row
Cty = Range("Sheet1!E1").Value
j = 2
For i = 2 To eR
iCty = Range("Sheet1!B" & i & ":B" & i).Value
Set DL = Range("Sheet1!A" & i & ":C" & i)
Set KQ = Range("Sheet1!F" & j & ":H" & j)
If iCty = Cty Then
KQ.Value = DL.Value
j = j + 1
End If
Next
End Sub