xin code hoặc công thức lọc dữ liệu theo tên

Liên hệ QC

vanhesing

Thành viên thường trực
Tham gia
12/8/10
Bài viết
223
Được thích
30
!$@!!!$@!! Tôi mong muốn các anh chị em giúp đỡ tôi phần này .
tôi muốn xin code hoặc công thức để khi tôi nhập dữ liệu xuất nhập thiết bị của 2 bộ phận từ 1 seet " nhật ký chung " những dữ liệu này sẽ lọc và phân loại ra mỗi sheet tưong ứng với từng bộ phận .
vấn đề tiếp theo mời mọi người tham khảo file đính kèm.
Rất mong có được sự giúp đỡ của cả nhà .
Chân thành cảm ơn !

Tôi đã chân thành xin giúp đỡ rồi , đây là bài thứ 3 nhưng vẫn ko ai phản hồi 1 cái gì cho sự mong đợi của Tôi cả.
Thanks cả nhà!!!
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Nãy mình mơ hồ quá nên hiểu ý của bạn hướng khác , nếu 1 chi nhánh xuất nhập 1 TB 2 dòng nhưng khác ngày (sẽ ko có TH 1 ngày CN yêu cầu 2 lần ) nên mình muốn nó hiện lên theo số ngày tức là nó hiện hết những gì liên quan tới chi nhánh đó chứ ko phải chọn dòng nào !!1
rất hân hạnh vì được bạn giúp .
thakns
Vậy phần nhập về phải có 1 trường tham chiếu TB xuất đi. Lúc đó mình sẽ lấy duy nhất theo điều kiện, cùng CN, cùng loại TB và cùng 1 tham chiếu nhập xuất.
Bạn cho 1 ví dụ (2 sh Data và CongNo) về TH này nhé.
 
Upvote 0
Vậy phần nhập về phải có 1 trường tham chiếu TB xuất đi. Lúc đó mình sẽ lấy duy nhất theo điều kiện, cùng CN, cùng loại TB và cùng 1 tham chiếu nhập xuất.
Bạn cho 1 ví dụ (2 sh Data và CongNo) về TH này nhé.
thật vui khi bạn nhiệt tình giúp mình
bạn xem file nhé
 

File đính kèm

Upvote 0
thật vui khi bạn nhiệt tình giúp mình
bạn xem file nhé
Theo tôi bạn nên có 1 IDCode cho TB, ví dụ sau bạn sẽ làm thế nào nhé.
Tôi copy dòng 12 sh Data có TB "Slots board for IPC" xuống dòng cuối, là dòng 28 và sửa ngày F28 là ngày 06/09 nghĩa là TB trên ngày 04/09 và 06/09 có xuất.
Bạn làm cho 1 sh Congno báo cáo thô thử xem.
 
Upvote 0
Theo tôi bạn nên có 1 IDCode cho TB, ví dụ sau bạn sẽ làm thế nào nhé.
Tôi copy dòng 12 sh Data có TB "Slots board for IPC" xuống dòng cuối, là dòng 28 và sửa ngày F28 là ngày 06/09 nghĩa là TB trên ngày 04/09 và 06/09 có xuất.
Bạn làm cho 1 sh Congno báo cáo thô thử xem.
bạn xem báo cáo thô ở sheet 3 nhé
thankss
 

File đính kèm

Upvote 0
Theo tôi bạn nên có 1 IDCode cho TB, ví dụ sau bạn sẽ làm thế nào nhé.
Tôi copy dòng 12 sh Data có TB "Slots board for IPC" xuống dòng cuối, là dòng 28 và sửa ngày F28 là ngày 06/09 nghĩa là TB trên ngày 04/09 và 06/09 có xuất.
Bạn làm cho 1 sh Congno báo cáo thô thử xem.
ID code cho TB ???
như thế nào ? mình cũng hình dung được chút chút
bạn giúp mình như cái sheeet 3 nha bạn
thanls
 
Upvote 0
Vấn đề này hơi phức tạp nhé, cho mình suy nghĩ với.
Nếu làm cũng OK nhưng trước mắt thấy code hơi dài và phức tạp. Mai sẽ reply nhé.
Thu Nghi xem file của ChanhTQ ở trang trước làm cho mình tham khảo nhé
bảng đó cũng ok nhưng có cái phần xuất nó xuất hiện 2 lần giống nhau
Nghi lấy bảng đó chỉnh sửa lại chút cũng được như là khi CN nào ko có data thì sẽ hiện bảng "ko có dữ liệu "
1 cái nữa do số lần nhập xuất rẩj nhiều nên nhờ Thu Nghi mở rông vùng bị giới hạn giùm
nhờ vả mà đòi hỏi nữa ngại quá hic :((
thanks nhiều
 
Lần chỉnh sửa cuối:
Upvote 0
Thu Nghi xem file của ChanhTQ ở trang trước làm cho mình tham khảo nhé
bảng đó cũng ok nhưng có cái phần xuất nó xuất hiện 2 lần giống nhau
Nghi lấy bảng đó chỉnh sửa lại chút cũng được như là khi CN nào ko có data thì sẽ hiện bảng "ko có dữ liệu "
1 cái nữa do số lần nhập xuất rẩj nhiều nên nhờ Thu Nghi mở rông vùng bị giới hạn giùm
nhờ vả mà đòi hỏi nữa ngại quá hic :((
thanks nhiều
Bạn dùng thử code sau
PHP:
Option Explicit
Dim endR As Long, i As Long, s As Long, k As Long, t As Long, n As Long, j As Long
Dim solan As Long
Dim Arr(), ArrXuat(), ArrNhap()
Dim Dic As Object
Dim wf As WorksheetFunction, myRng As Range
Dim tenCN As String, Tmp As String
Sub LocCN()
Set wf = WorksheetFunction
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("CongNo")
  tenCN = .[D5]
  .Range("A9:Q1000").ClearContents
End With
With Sheets("data")
  .AutoFilterMode = False
  endR = .[C65000].End(xlUp).Row 'Lay cot C, co the chuyen cot nay'
  Set myRng = .Range("C4:C" & endR)
  solan = wf.CountIf(myRng, tenCN)
  If solan = 0 Then
    MsgBox "Khong co data"
    Exit Sub
  End If
  Arr = myRng.Offset(, -1).Resize(, 15).Value
End With
ReDim ArrXuat(1 To solan, 1 To 16)
ReDim ArrNhap(1 To solan, 1 To 16)
s = 0: t = 0
For i = 1 To UBound(Arr)
  If Arr(i, 2) = tenCN Then
    If Len(Arr(i, 6)) > 0 Then
      s = s + 1
      ArrXuat(s, 1) = s 'Stt
      For k = 2 To 9
        ArrXuat(s, k) = Arr(i, k - 1)
      Next k
    Else
      t = t + 1
      For k = 2 To 16
        ArrNhap(t, k) = Arr(i, k - 1)
      Next k
    End If
  End If
Next i
n = 0
For k = 1 To s
  For i = 1 To t
    If ArrNhap(i, 4) = ArrXuat(k, 4) Then
      n = n + 1
      Tmp = i
      If Not Dic.Exists(Tmp) Then
        Dic.Add Tmp, n
        For j = 10 To 13
          ArrXuat(k, j) = ArrNhap(i, j)
        Next j
      Else
        Exit For
      End If
    End If
  Next i
Next k
With Sheets("CongNo")
  .[a9].Resize(s, 16) = ArrXuat
End With
Set myRng = Nothing: Set wf = Nothing: Set Dic = Nothing
Erase Arr(), ArrXuat(), ArrNhap()

End Sub
Theo file
Còn cột C sh data có bao nhiêu dòng thì code sẽ truy xuất hết, yên tâm về giới hạn.
 

File đính kèm

Upvote 0
Chuẩn không cần chỉnh !!!
Làm thế nào để mình gửi lời cám ơn đến bạn đây ?
1 chầu cafe hay nhậu nhẹt gì đó nhé
cho mình xin YM di bạn lỡ có sự cố gì chat nó dể hơn
được cho mình số phone luôn nha
rất vui và hân hạnh nếu được làm bạn với bạn
thanks
 
Upvote 0
Chuẩn không cần chỉnh !!!
Làm thế nào để mình gửi lời cám ơn đến bạn đây ?
1 chầu cafe hay nhậu nhẹt gì đó nhé
cho mình xin YM di bạn lỡ có sự cố gì chat nó dể hơn
được cho mình số phone luôn nha
rất vui và hân hạnh nếu được làm bạn với bạn
thanks

Sorry, code kia chưa chuẩn nếu phần trả lại 1 TB nhiều hơn 1 lần. Qua tham khảo Bác Ptm0412 mình mới làm lại code cho gọn hơn và chính xác hơn. Dạo này mình viết code dài quá.
PHP:
Option Explicit
Dim endR As Long, i As Long, s As Long, k As Long, t As Long, j As Long
Dim solan As Long
Dim Arr(), ArrXuat(), ArrNhap()
Dim wf As WorksheetFunction, myRng As Range
Dim tenCN As String, Tmp As String
Sub LocCN()
Set wf = WorksheetFunction
With Sheets("CongNo")
  tenCN = .[D5]
  .Range("A9:Q1000").ClearContents
End With
With Sheets("data")
  .AutoFilterMode = False
  endR = .[C65000].End(xlUp).Row 'Lay cot C, co the chuyen cot nay
  Set myRng = .Range("C4:C" & endR)
  solan = wf.CountIf(myRng, tenCN)
  If solan = 0 Then
    MsgBox "Khong co data"
    Exit Sub
  End If
  Arr = myRng.Offset(, -1).Resize(, 15).Value
End With
ReDim ArrXuat(1 To solan, 1 To 16)
ReDim ArrNhap(1 To solan, 1 To 16)
s = 0: t = 0
For i = 1 To UBound(Arr)
  If Arr(i, 2) = tenCN Then
    If Len(Arr(i, 6)) > 0 Then
      s = s + 1
      ArrXuat(s, 1) = s 'Stt
      For k = 2 To 9
        ArrXuat(s, k) = Arr(i, k - 1)
      Next k
    Else
      t = t + 1
      For k = 2 To 16
        ArrNhap(t, k) = Arr(i, k - 1)
      Next k
    End If
  End If
Next i
For i = 1 To t 'duyet qua ArrNhap - arr con'
  For j = 1 To s 'duyet qua ArrXuat'
    If ArrXuat(j, 4) = ArrNhap(i, 4) Then
      If ArrXuat(j, 10) = "" Then
        For k = 10 To 13
          ArrXuat(j, k) = ArrNhap(i, k)
        Next k
        Exit For
      End If
    End If
  Next j
Next i

With Sheets("CongNo")
  .[a9].Resize(s, 16) = ArrXuat
End With
Set myRng = Nothing: Set wf = Nothing
Erase Arr(), ArrXuat(), ArrNhap()
End Sub
 

File đính kèm

Upvote 0
Sorry, code kia chưa chuẩn nếu phần trả lại 1 TB nhiều hơn 1 lần. Qua tham khảo Bác Ptm0412 mình mới làm lại code cho gọn hơn và chính xác hơn. Dạo này mình viết code dài quá.
Hic, thanks bạn nhiều . vì trong giờ làm việc mình chưa thể test được , nhưng mình cảm thấy nó cũng đã hoàn hảo rồi đó . có gì chiều nay rảnh mình test lại rồi sẽ liên lạc với bạn . giờ bạn cho mình xin mấy thứ hồi nãy đi :P
thanks
à cái nữa mình đang cần thầy dạy VBA ko biết bạn có mối nào chỉ giúp mình với nha.( cô giáo mà teen chút càng tốt ) hihihihihi
 
Upvote 0
thật ko bán NDU??
đừng thuốc em út nhé , hihihihii
em nói thật đó , anh cho em xin cách để liên lạc với cô giáo đi anh (teen nhưng chịu chơi chút , kkakaka)
thanks
Trời, tôi nói thật chứ đùa gì ---> Nhìn nick thấy chữ pretty là biết rồi (chẳng lẽ pretty là GIÀ à?)
Còn không mau mau nhắn tin đi! (đường link ở trên chính là hồ sơ cô ấy đấy)
Chúc bạn thành công!
(nhớ rằng gọi bằng CÔ thì phải xưng EM nha ---> Cô rất giỏi nhưng hổng có thích người ta HỔN đâu)
 
Upvote 0
Trời, tôi nói thật chứ đùa gì ---> Nhìn nick thấy chữ pretty là biết rồi (chẳng lẽ pretty là GIÀ à?)
Còn không mau mau nhắn tin đi! (đường link ở trên chính là hồ sơ cô ấy đấy)
Chúc bạn thành công!
(nhớ rằng gọi bằng CÔ thì phải xưng EM nha ---> Cô rất giỏi nhưng hổng có thích người ta HỔN đâu)
Bác NDU ơi !!
em có tật ngộ lắm , học với Cô teen và xinh em mới tiếp thu tốt được (hí hí )
và phải trao đổi trực tiếp nữa , Cô này chắc ở TPHCM hả Bác?
em đã liên lạc rồi mà chưa thấy hồi âm hic
thanks!!
 
Upvote 0
Thu Nghi ơi !!!

Còn 1 vấn đề nhỏ nữa ThuNghi xem có thể thêm trong code giúp mình khong ngen .
xem sheet congno .
thanks !!!
 

File đính kèm

Upvote 0
Còn 1 vấn đề nhỏ nữa ThuNghi xem có thể thêm trong code giúp mình khong ngen .
xem sheet congno .
thanks !!!
1/ Điều đầu tiên là bạn nên nghiên cứu về cách đặt tên file, sao lúc nào cũng Book11 cả. Đó cũng là 1 bài học.
2/ "Cột tổng công nợ và ghi chú" thì cái này lấy từ sh nào.
3/ "Giờ mình insert thêm 2 cột số lượng cho vnbc và chi nhánh nữa được ko ? Có phải thay đổi gì ko ?" chưa biết bạn insert vào sh nào.
Tóm lại là bạn nên làm từ file mà bạn thấy OK rồi và thêm 1 sh nói rõ cột cần thêm. Và sh congno yêu cầu là thế nào.
Bạn hãy là 1 data chuẩn vào file tôi đã gởi lần cuối. Và thêm 1 sh congnoyeucau là thế nào.
Biết hỏi cũng là một cách mau nhất tiếp cận VBA.
Chúc thành công.
 
Upvote 0
1/ Điều đầu tiên là bạn nên nghiên cứu về cách đặt tên file, sao lúc nào cũng Book11 cả. Đó cũng là 1 bài học.
2/ "Cột tổng công nợ và ghi chú" thì cái này lấy từ sh nào.
3/ "Giờ mình insert thêm 2 cột số lượng cho vnbc và chi nhánh nữa được ko ? Có phải thay đổi gì ko ?" chưa biết bạn insert vào sh nào.
Tóm lại là bạn nên làm từ file mà bạn thấy OK rồi và thêm 1 sh nói rõ cột cần thêm. Và sh congno yêu cầu là thế nào.
Bạn hãy là 1 data chuẩn vào file tôi đã gởi lần cuối. Và thêm 1 sh congnoyeucau là thế nào.
Biết hỏi cũng là một cách mau nhất tiếp cận VBA.
Sorry bạn mình gấp quá nên ra nông nổi này . Phiền bạn xem giúp nhé mình đã làm rõ ràng trong file
thanks!! và mình sẽ rtút kinh nghiệm
Chúc thành công.
Sory bạn ! mình bận và gấp quá nên ẩu tả . chân thành xin lỗi
mình sẽ rút kinh nghiệm . bạn xem file nhé !
thanks
 

File đính kèm

Upvote 0
Xin các ACE hỗ trợ giúp cho em code này với

Em gửi file đính kèm, mong các Pro hỗ trợ em với nha.
Nếu có gì thắc mắc các bác cứ gửi vào mail này giúp em:
caovan39@gmail.com, em sẽ trả lời ngay
Cảm ơn các bác
 

File đính kèm

Upvote 0
1/ Điều đầu tiên là bạn nên nghiên cứu về cách đặt tên file, sao lúc nào cũng Book11 cả. Đó cũng là 1 bài học.
2/ "Cột tổng công nợ và ghi chú" thì cái này lấy từ sh nào.
3/ "Giờ mình insert thêm 2 cột số lượng cho vnbc và chi nhánh nữa được ko ? Có phải thay đổi gì ko ?" chưa biết bạn insert vào sh nào.
Tóm lại là bạn nên làm từ file mà bạn thấy OK rồi và thêm 1 sh nói rõ cột cần thêm. Và sh congno yêu cầu là thế nào.
Bạn hãy là 1 data chuẩn vào file tôi đã gởi lần cuối. Và thêm 1 sh congnoyeucau là thế nào.
Biết hỏi cũng là một cách mau nhất tiếp cận VBA.
Chúc thành công.
Thu Nghi ơi bjan làm cho nó nó lọc qua sheeet congno 3 cột cuối luôn giúp mình (công nợ đầu , công nợ cuối cuối ) còn lại mình tự xử
thanks !!1
 
Upvote 0
Web KT

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

Back
Top Bottom