[Giúp]: Xin code copy từ sheet này sang sheet khác, với cột chỉ định

Liên hệ QC

timhieu02

Thành viên hoạt động
Tham gia
30/9/09
Bài viết
114
Được thích
7
Giới tính
Nam
Em chào các anh chị,

Em có 1 file dữ liệu với nhiều cột, nhưng chỉ cần báo cáo 1 vào cột chủ yếu. Nếu dùng hàm excel tham chiếu lấy từng cột thì sẽ có thể sai sót.
Nên cho em xin code với. Em có đính kèm file ví dụ và kết quả mong muốn sau khi chạy macro.

- Sheet "Data": là data tổng, với nhiều dòng và nhiều cột. Ở đây em chỉ lấy ví dụ 1 ít dữ liệu thôi
- Sheet "Key report": trong đó
-> Dòng số 1: là em sẽ nhập tên cột cần copy dữ liệu sang (tên cột này là tên tương ứng với tên trên thanh A, B, C, D...của excel)
-> Những ô ở dòng dòng số 1 không có nhập tên cột, thì không copy dữ liệu
-> khi copy thì giữ nguyên format dữ liệu như ban đầu ở sheet "Data"
- Sheet "kết quả sau khi chạy macro": là kết quả sau khi chạy macro. Sheet này tham khảo thôi. thật ra sau khi chạy macro, thì dữ liệu sẽ copy sang sheet "Key report" ở trên

Do em có nhiều file dữ liệu khác nhau, nên tên cột cần copy cũng sẽ khác nhau.
Chính vì vậy mà em xin code để khi nhập tên cột thì code sẽ dò và copy dữ lệu những cột đó.

Mong tin từ các anh chị.
 

File đính kèm

  • Example_Copy_Theo_Cot.xlsx
    14.8 KB · Đọc: 26
"bất minh"

Nghĩa là: không rõ ràng, có chỗ đáng nghi ngờ.

Ví dụ: 'Quan hệ' bất minh, 'thảo luận' bất minh.

Từ đồng nghĩa: ám muội, đen tối, khuất tất, mờ ám.

Từ trái nghĩa: minh bạch.
---
Đang thảo luận 'lộ thiên' thế này mà lại kêu 'bất minh'. Oan thị bưởi ghê.
Bạn có nghĩ rằng lý do bạn đưa ra là thuyết phục để tiếp tục thảo luận không?
Tôi không nghĩ thế. Đứng trên góc độ học thuật, bạn cần chỉ ra lý do, điều gì sẽ xảy ra, chứ không phải vì anh này hay bác kia bảo thế nên tôi nhất định không xài. Với lý do như thế, tôi không có cách nào thảo luận tiếp tục được.
Nếu On Error khiến bạn lo lắng như thế, tôi xin phép dùng video sau thay cho lời thuyết minh.
Nếu không phải vấn đề học thuật, tôi sẽ không thảo luận.
 
Upvote 0
phải chạy vòng lặp 1000 lần. Hơn nữa nếu cột vượt quá 1000 thì không đáp ứng được.
- Tôi có nói là chưa từng xử lý chuyện này nên nghĩ sao viết vậy, thấy bạn ấy nói dữ liệu khoảng 200 cột nên lấy số 1000.
- Với cách lấy Column như bạn thì có thể viết Function thế này.
PHP:
Public Function SoCot(TenCot As String) As Long
On Error Resume Next
    SoCot = Range(TenCot & 1).Column
End Function
- Chuyện kết quả =0 sẽ giải quyết trong Sub.
 
Upvote 0
- Tôi có nói là chưa từng xử lý chuyện này nên nghĩ sao viết vậy, thấy bạn ấy nói dữ liệu khoảng 200 cột nên lấy số 1000.
- Với cách lấy Column như bạn thì có thể viết Function thế này.
PHP:
Public Function SoCot(TenCot As String) As Long
On Error Resume Next
    SoCot = Range(TenCot & 1).Column
End Function
- Chuyện kết quả =0 sẽ giải quyết trong Sub.
Vâng ạ. Em thấy hàm trên của anh chạy không có vấn đề gì ạ. Cách viết như của anh trông gọn hơn em nhỉ.
 
Upvote 0
Bạn có nghĩ rằng lý do bạn đưa ra là thuyết phục để tiếp tục thảo luận không?
Tôi không nghĩ thế. Đứng trên góc độ học thuật, bạn cần chỉ ra lý do, điều gì sẽ xảy ra, chứ không phải vì anh này hay bác kia bảo thế nên tôi nhất định không xài. Với lý do như thế, tôi không có cách nào thảo luận tiếp tục được.
Nếu On Error khiến bạn lo lắng như thế, tôi xin phép dùng video sau thay cho lời thuyết minh.
Nếu không phải vấn đề học thuật, tôi sẽ không thảo luận.
Cái video này không thuyết phục được Anh í đâu. Hình như Anh í là người khó tính thứ 3 trong diễn đàn này đó ạ
 
Upvote 0
Nếu bạn vẫn "cố chấp" với cách ghi tên cột, A, Z, AB,XFA... thì cũng phải có 1 hàm "dịch" Tên cột thành Số cột mà thôi.
Bạn xem file, trong đó có 1 Hàm "Cùi bắp" để làm chuyện này. (Cùi bắp là vì tôi chưa từng xử chuyện oái oăm này)

Dạ. em cảm ơn anh @Ba Tê nhiều lắm. Dạ được rồi anh ơi. Chạy đã lắm :)
Bài đã được tự động gộp:

Em cảm ơn các anh đã đóng góp cho bài toán khó của em đã được giải quyết! Em biết mỗi người đều có sở trường riêng của mình. Em mong các anh đừng vì topic của em mà mất hòa khí. :)

Chúng ta là 1 gia đình! :)

p/s: @PacificPR thấy ít lên thớt nhưng comment không kém phần lém lỉnh! :)
 
Lần chỉnh sửa cuối:
Upvote 0
Uhm, nhìn avatar xinh gái quá nhỉ. Không biết là hình thật hay hình cô Hàn xẻng nào đây ;)
 
Upvote 0
............................
- Dữ liệu thật tế của em thì có rất nhiều cột (hàng trăm cột), nên nên những tên cột như là "AA", "AB", "ADX", v.v..thì macro không copy được.
.............................
Nếu sheet "Data" thực tế có hàng trăm cột dữ liệu và có 1 số cột có tiêu đề trùng nhau là kiểu theo dõi chưa hợp lý, trên diễn đàn cũng đã từng có thành viên theo dõi 1 sheet đến cả ngàn cột.
Tôi thường khuyên là nên đưa File với tiêu đề thực tế lên để các thành viên có nhiều kinh nghiệm thiết kế lại thì sẽ hay hơn là áp dụng theo kiểu cũ của bạn.
 
Upvote 0
Web KT
Back
Top Bottom