Giúp viết code tìm địa chỉ và copy cột chứa cells đó sang cột mới

  • Thread starter Thread starter lanp900
  • Ngày gửi Ngày gửi
Liên hệ QC

lanp900

Thành viên mới
Tham gia
30/7/09
Bài viết
28
Được thích
0
Em có 1 file rất nhiều sheet và cần code để trong mỗi sheet tìm ô có chữ "VAT" trong vùng A1:AZ30 xong đó copy cả cột chứa ô đó sang cột $B$A (value). Các bác giúp em nhé, em mới ở vòng gửi xe VBA. Cảm ơn các bác!
 

File đính kèm

Em có 1 file rất nhiều sheet và cần code để trong mỗi sheet tìm ô có chữ "VAT" trong vùng A1:AZ30 xong đó copy cả cột chứa ô đó sang cột $B$A (value). Các bác giúp em nhé, em mới ở vòng gửi xe VBA. Cảm ơn các bác!
Đổi đuôi lại thành Excel2003 đi. Nên nhớ code không lưu được dưới dạng đuôi *xlsx
 
Upvote 0
Bạn nên giải thích cụ thể chép cột A sang cột A và B. Vậy thì việc dán như thế nào (Hai cột này giống nhau hay sao)
 
Upvote 0
Có người quan tâm rồi, thích GPE rồi

Ý là em cần tìm ra cột chứa cell có chữ VAT để copy toàn bộ cột đó sang một cột cố định nào đó, sau đó em sẽ nối toàn bộ các sheet lại với nhau để em dùng hàm Vlookup cho thuận. Vừa rồi gỗ nhầm là $A$B, xin chỉnh lại là AB
 

File đính kèm

Upvote 0
Ý là em cần tìm ra cột chứa cell có chữ VAT để copy toàn bộ cột đó sang một cột cố định nào đó, sau đó em sẽ nối toàn bộ các sheet lại với nhau để em dùng hàm Vlookup cho thuận. Vừa rồi gỗ nhầm là $A$B, xin chỉnh lại là AB
Bài này thì kg khó, khó ở chỗ là:
1/ Sao tiêu đề các sh, dòng mà có chữ VAT lại không cố định ở 1 dòng 12 hay 11 hay X, tránh tình trạng tìm chữ "VAT" lại tìm ở đây.
"Giá Cu 8,0 không bao gồm VAT"
2/ Yòan bộ các cột mà có dòng đầu là chữ VAT thì chép vào cột BA của sh nào, hay là sh nào chép vào sh đó.
Nếu đúng yêu cầu như vậy thì bạn sửa file trên lại và chỉ cần làm vd cho 3 sh thôi, từ đó suy ra.
 
Upvote 0
Bạn tham khảo code trong file nhé

Mã:
Sub THop()
Dim Sh As Worksheet, Cl As Range, Cl1 As Range, dg
Sheet11.Cells.ClearContents
Set Cl1 = Sheet11.[AA2]
Cl1 = "MA HANG": Cl1.Offset(, 1) = "VAT"
Set Cl1 = Cl1.Offset(1)
For Each Sh In Worksheets
If Sh.Name <> "VAT" Then
Set Cl = Sh.Rows("1:30").Find("VAT", , xlValues, xlWhole)
dg = WorksheetFunction.CountA(Sh.Range("A" & Cl.Row + 1 & ":A30"))
Cl1.Resize(dg) = Sh.Cells(Cl.Row + 1, 2).Resize(dg).Value
Cl1.Offset(, 1).Resize(dg) = Cl.Offset(1).Resize(dg).Value
Set Cl1 = Cl1.Offset(dg)
End If
Next
End Sub
Nếu cẩn thận thì thêm
Mã:
Sub THop()
...........................
Set Cl = Sh.Rows("1:30").Find("VAT", , xlValues, xlWhole)
If Not Cl Is Nothing Then
...........................
End If
...........................
End Sub
Như vậy tránh lỗi gặp sheet không có cột VAT
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bác nhiệt liệt. Bác copy vào 1 sheet mới như vậy là đúng ý em. Như đã nói em đang gửi xe vào VBA, rất muốn hiểu được code bác cho để làm chủ và ứng dụng nó. Em còn có nhiều file như vậy cần nối vào 1 sheet để phục vụ tra cứu, báo cáo. Nếu tịt thì xin bác lại giúp cho. Chào bác
 
Upvote 0
Web KT

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

Back
Top Bottom