TRỢ GIÚP CODE VBA

Liên hệ QC

MANHTS

Thành viên chính thức
Tham gia
16/11/20
Bài viết
63
Được thích
4
Em chào các bác ạ:
Em có 1 file như dưới em muốn tìm dữ liệu từ SHEET DULIEUNHAP cái này em sẽ nhập tay: sau đó tại sheet biểu mẫu muốn tìm và xuất ra theo danh sách em đã tại list sẵn : bác nào giúp em đoạn code với ạ . em cảm ơn
 

File đính kèm

  • FILE DMKT - Copy.xlsx
    310.1 KB · Đọc: 11
muốn tìm và xuất ra theo danh sách em đã tại list sẵn
Đoạn này không hiểu cho lắm
Bài đã được tự động gộp:

Tiêu đề không viết hoa cả câu nha bạn.nội dung tiêu đề cũng nên sửa lại đúng với nội dung yêu cầu của bài.với lại sau này có đăng bài về nhờ viết code thì đăng vào box lập trình với excel nha
 
Đoạn này không hiểu cho lắm (tức là em có 1 sheet dữ liệu nhập bác ạ chủ yếu là hóa chất sau khoảng vài trăm loại ở mỗi phương pháp vd e để là aflatoxin thì hóa chất đó nó sử dụng bao nhiêu, sau đó ở biểu mẫu ví dụ em muốn tìm dữ liệu của phương pháp aflatoxin thì ở cột aflatoxin có dữ liệu nào thì ở biểu mẫu sẽ tìm ra lạo hóa chất đó hình như phải sd vòng lặp 2 lần mà em k biết sử dụng
Bài đã được tự động gộp:

Tiêu đề không viết hoa cả câu nha bạn.với lại sau này có đăng bài về nhờ viết code thì đăng vào box lập trình với excel nha
Vâng em sẽ lưu ý:
 
sheets này dữ liệu là duy nhất chứ bạn,có nghĩa là cột B hóa chất sẽ không bị trùng đúng không?
Đúng rồi bác dữ liệu hóa chất sẽ k bị trùng nhưng mà khó cái là ở cột aflatoxin từ dòng 5-200 chẳng hạn làm sao có thể tìm lọc dc dữ liệu có và loại bỏ dòng trống
 
Cột này trong miêu tả file đâu có nhắc tới đâu bạn?
Bài đã được tự động gộp:

hay ý bạn là nếu cột đó trống thì bỏ qua còn nếu có chứa dữ liệu thì lấy quá sheets BIEUMAU ?
Bài đã được tự động gộp:

Mã:
Option Explicit

Sub Danh_Sach()
Dim DS(), KQ()
Dim i As Long, K As Long, Hc As String

With Sheets("DULIEUNHAP")
    DS = .Range("B5", .Range("B" & Rows.Count).End(xlUp)).Resize(, 9).Value
    ReDim KQ(1 To UBound(DS), 1 To 5)
    For i = 1 To UBound(DS)
            Hc = DS(i, 1)
         If Hc <> "" Then
                K = K + 1
            KQ(K, 1) = K
            KQ(K, 2) = DS(i, 1)
            KQ(K, 3) = DS(i, 7)
            KQ(K, 4) = DS(i, 8)
            KQ(K, 5) = DS(i, 9)
         End If
    Next
End With
Sheets("BIEUMAU").Range("B6").Resize(K, 5) = KQ
Sheets("BIEUMAU").Range("B6").Resize(K, 5).Borders.LineStyle = 1
End Sub
Nếu cột B tên hóa chất ở sheets DULIEUNHAP là không trùng thì bạn dùng code này để lấy dữ liệu ở sheets BIEUMAU
 
Cột này trong miêu tả file đâu có nhắc tới đâu bạn?
Bài đã được tự động gộp:

hay ý bạn là nếu cột đó trống thì bỏ qua còn nếu có chứa dữ liệu thì lấy quá sheets BIEUMAU ?
Bài đã được tự động gộp:

Mã:
Option Explicit

Sub Danh_Sach()
Dim DS(), KQ()
Dim i As Long, K As Long, Hc As String

With Sheets("DULIEUNHAP")
    DS = .Range("B5", .Range("B" & Rows.Count).End(xlUp)).Resize(, 9).Value
    ReDim KQ(1 To UBound(DS), 1 To 5)
    For i = 1 To UBound(DS)
            Hc = DS(i, 1)
         If Hc <> "" Then
                K = K + 1
            KQ(K, 1) = K
            KQ(K, 2) = DS(i, 1)
            KQ(K, 3) = DS(i, 7)
            KQ(K, 4) = DS(i, 8)
            KQ(K, 5) = DS(i, 9)
         End If
    Next
End With
Sheets("BIEUMAU").Range("B6").Resize(K, 5) = KQ
Sheets("BIEUMAU").Range("B6").Resize(K, 5).Borders.LineStyle = 1
End Sub
Nếu cột B tên hóa chất ở sheets DULIEUNHAP là không trùng thì bạn dùng code này để lấy dữ liệu ở sheets BIEUMAU
bác có thể giúp em thêm dc k ạ (VD muốn lấy dữ liệu ở cột K (ở đây em để tên là aflatoxin) cột K có dữ liệu từ ô K5-K84) em muốn nếu em tìm dữ liệu cột K thì từ K5-K84 (Vd cột K có dữ liệu ở các dòng K8; k20; k21; 22; 23; 24;...) nếu có dữ liệu thì sẽ tham chiếu sang cột B tương ứng để điền vào Sheet BIEUMAU nếu không có dữ liệu thì bỏ qua bác ạ
 
Góp vài ý nhỏ đến chủ bài đăng:
a./ Tên trang tính của bạn quá dài, không cần thiết đến như vậy
Thay vì 'DANHMUCHOACHAT' SAO KHÔNG LÀ 'DanhMucHC''; Nếu là mình thì chỉ là 'DMuc'
b./ CSDL ở trang này thiếu cột/trường quan trọng; đó là 'Mã HC'
Nếu không có trường/cột này thì lúc nào đó CSDL của bạn sẽ trở thành đống rác không mong muốn.

Xin chào bạn & xin chúc mọi người tuần làm việc hiệu quả!
 
Mã:
Option Explicit

Sub Danh_Sach()
Dim DS(), KQ()
Dim i As Long, K As Long, Hc As String

With Sheets("DULIEUNHAP")
    DS = .Range("B5", .Range("B" & Rows.Count).End(xlUp)).Resize(, 10).Value
    ReDim KQ(1 To UBound(DS), 1 To 5)
    For i = 1 To UBound(DS)
            Hc = DS(i, 1)
         If Hc <> "" And DS(i, 10) <> "" Then
                K = K + 1
            KQ(K, 1) = K
            KQ(K, 2) = DS(i, 1)
            KQ(K, 3) = DS(i, 7)
            KQ(K, 4) = DS(i, 8)
            KQ(K, 5) = DS(i, 9)
         End If
    Next
End With
Sheets("BIEUMAU").Range("B6").Resize(K, 5) = KQ
Sheets("BIEUMAU").Range("B6").Resize(K, 5).Borders.LineStyle = 1
End Sub
Bạn thử code này,thêm cái điều kiện là được mà
Bài đã được tự động gộp:

Với lại bạn sửa lại tiêu đề bài viết đi.Nội dung là tổng hợp dữ liệu hay gì đó.với lại không viết hoa cả câu
 
Góp vài ý nhỏ đến chủ bài đăng:
a./ Tên trang tính của bạn quá dài, không cần thiết đến như vậy
Thay vì 'DANHMUCHOACHAT' SAO KHÔNG LÀ 'DanhMucHC''; Nếu là mình thì chỉ là 'DMuc'
b./ CSDL ở trang này thiếu cột/trường quan trọng; đó là 'Mã HC'
Nếu không có trường/cột này thì lúc nào đó CSDL của bạn sẽ trở thành đống rác không mong muốn.

Xin chào bạn & xin chúc mọi người tuần làm việc hiệu quả!
Em cảm ơn bác đã góp ý ạ em sẽ sửa
Bài đã được tự động gộp:

Mã:
Option Explicit

Sub Danh_Sach()
Dim DS(), KQ()
Dim i As Long, K As Long, Hc As String

With Sheets("DULIEUNHAP")
    DS = .Range("B5", .Range("B" & Rows.Count).End(xlUp)).Resize(, 10).Value
    ReDim KQ(1 To UBound(DS), 1 To 5)
    For i = 1 To UBound(DS)
            Hc = DS(i, 1)
         If Hc <> "" And DS(i, 10) <> "" Then
                K = K + 1
            KQ(K, 1) = K
            KQ(K, 2) = DS(i, 1)
            KQ(K, 3) = DS(i, 7)
            KQ(K, 4) = DS(i, 8)
            KQ(K, 5) = DS(i, 9)
         End If
    Next
End With
Sheets("BIEUMAU").Range("B6").Resize(K, 5) = KQ
Sheets("BIEUMAU").Range("B6").Resize(K, 5).Borders.LineStyle = 1
End Sub
Bạn thử code này,thêm cái điều kiện là được mà
Bài đã được tự động gộp:

Với lại bạn sửa lại tiêu đề bài viết đi.Nội dung là tổng hợp dữ liệu hay gì đó.với lại không viết hoa cả câu
em cảm ơn bác nhiều ạ để em sử dụng code
 
Em cảm ơn bác đã góp ý ạ em sẽ sửa
Bài đã được tự động gộp:


em cảm ơn bác nhiều ạ để em sử dụng code
Bác ơi cho em hỏi nếu em muốn tìm dữ liệu ở cột L, M, N, O, P thì phải thêm đoạn code nào ạ (hiện tại mới chỉ tìm ở cột K)
 
Bác ơi cho em hỏi nếu em muốn tìm dữ liệu ở cột L, M, N, O, P thì phải thêm đoạn code nào ạ (hiện tại mới chỉ tìm ở cột K)
ý bạn là muốn tìm hết các cột? vậy sao từ đầu bạn không nếu hết điều kiện lọc vậy?
If Hc <> "" And DS(i, 10) <> "" Then
đây là phần điều kiện trong code
 
Lần chỉnh sửa cuối:
ý bạn là muốn tìm hết các cột? vậy sao từ đầu bạn không nếu hết điều kiện lọc vậy?

đây là phần điều kiện trong code
Dạ em mới tập làm nên còn gà mờ lắm bác ạ ; bác có thể chỉnh đoạn code đó giúp em dc không em muốn tìm từ cột K-W em sẽ tạo 1 cái list ở cột biểu mẫu để tùy ý chọn 1 cột bất kỳ trong nhóm cột K-W ạ:
 
Chưa hiểu rõ ý muốn của bạn lắm.Bạn gửi file mẫu kết quả mong muốn đi
dạ em gửi bác ạ ( ở bên sheet biểu mẫu em có làm 1 cái list dùng để chọn xuất các cột khi mình cần sẽ ra dữ liệu) bác xem giúp em ạ
 

File đính kèm

  • FILE DMKT - Copy.xlsm
    320 KB · Đọc: 2
dạ em gửi bác ạ ( ở bên sheet biểu mẫu em có làm 1 cái list dùng để chọn xuất các cột khi mình cần sẽ ra dữ liệu) bác xem giúp em ạ
ý tôi là cái list chọn cột ở đâu,và xét các cột theo tiêu chí nào.bạn làm cái kết quả cuối cùng bằng tay để tôi hiểu còn cái file bạn gửi nó chỉ có cột I J thôi à có cái chỗ chọn cột nào đâu? ví dụ bạn nêu ra chọn chộn nào kết quả ra làm sao
 
ý tôi là cái list chọn cột ở đâu,và xét các cột theo tiêu chí nào.bạn làm cái kết quả cuối cùng bằng tay để tôi hiểu còn cái file bạn gửi nó chỉ có cột I J thôi à có cái chỗ chọn cột nào đâu? ví dụ bạn nêu ra chọn chộn nào kết quả ra làm sao
em gửi lại bác file chắc em để cái cột list nó ở bên cột nên có khi bác mở bị ẩn ạ
 

File đính kèm

  • FILE DMKT - Copy.xlsm
    320.1 KB · Đọc: 8
Web KT
Back
Top Bottom