vanlinh_2904
Thành viên hoạt động



- Tham gia
- 20/10/12
- Bài viết
- 117
- Được thích
- 3




Dùng Record Macro ghi lại công việc Advanced Filter, tút lại 1 chút nó được cái này, chạy thử xem saoChào A/C!
Mình có sheet1 có chứa gồm nhiều cột dữ liệu, nhưng mình chỉ cần những trường dữ liệu như sheet 2, Các bạn viết bằng VBA giúp mình khi nhập dữ liệu sheet 1 sẽ tự động điền vào sheet2 đã định sẵn. Cảm ơn các bạn.
Sub Copy_()
Sheet2.Select
Sheets("Sheet1").Range("B2:J" & Sheets("Sheet1").Range("B65536").End(xlUp).Row) _
.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("A2:E2")
End Sub



Mình cảm ơn bạn, nhưng mình dùng Worksheet_Change để mỗi khi thay đổi là tự động cập nhập nhưng lại bị lỗi, bạn xem giúp mình bị sao nhé. cảm ơn bạnDùng Record Macro ghi lại công việc Advanced Filter, tút lại 1 chút nó được cái này, chạy thử xem sao
PHP:Sub Copy_() Sheet2.Select Sheets("Sheet1").Range("B2:J" & Sheets("Sheet1").Range("B65536").End(xlUp).Row) _ .AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("A2:E2") End Sub
Mình cảm ơn bạn, nhưng mình dùng Worksheet_Change để mỗi khi thay đổi là tự động cập nhập nhưng lại bị lỗi, bạn xem giúp mình bị sao nhé. cảm ơn bạn
Code chạy ra kết quả là được rồi "bồ tèo".Sự kiện pahỉ như thế này hong ta. Mình hỏng rành code mấy.



Hình như không phải như cai mình đang làm, nghĩa là khi thay đổi số liệu thì tự động cập nhập sang, nhưng mình viết bị lỗi gì đó nên tạo vòng lặp trong Worksheet_Change nên lệnh đó thực hiện liên tục. nhưng mình không biết sửaCode chạy ra kết quả là được rồi "bồ tèo".
Như mới tập chạy xe đạp, loăng quăng một chút nhưng "hổng té" là khoái rồi.
Còn chuyện biểu diễn chạy 1 tay, buông tay, 1 bánh, ... rớt bánh tính sau.
Ẹc...
Hình như không phải như cai mình đang làm, nghĩa là khi thay đổi số liệu thì tự động cập nhập sang, nhưng mình viết bị lỗi gì đó nên tạo vòng lặp trong Worksheet_Change nên lệnh đó thực hiện liên tục. nhưng mình không biết sửa



không phải là 2 bảng giống nhau , dòng nguồn có rất nhiều cột , dòng đích trích lọc lại theo những cột đã sắp xếp và cột V= Cột I + Cột H, Cột = Cột V/ Cột TTúm lại là bạn muốn làm gì, dât giả định của bạn thấy có một dòng nguồn và 1 dòng đích. Nếu không phải lọc thì là 2 bảng giống nhau sao?
Code của tungnguyenkt là tự động cập nhật khi tác động (thay đổi) vào ô P2.Hình như không phải như cai mình đang làm, nghĩa là khi thay đổi số liệu thì tự động cập nhập sang, nhưng mình viết bị lỗi gì đó nên tạo vòng lặp trong Worksheet_Change nên lệnh đó thực hiện liên tục. nhưng mình không biết sửa



Đúng rồi, mục đích của mình là khi nhập sửa số liệu trong vùng từ cột A đến cột L thì số liệu đích sẽ thay đổiCode của tungnguyenkt là tự động cập nhật khi tác động (thay đổi) vào ô P2.
Chẳng lẽ bạn muốn khi nhập, sửa số liệu bất kỳ 1 ô nào trong vùng của cột A đến cột L thì code phải chạy 1 lần sao?
Máy mà biết nói chắc "nổi nóng" luôn.



Đúng rồi, không có lọc gì hết chỉ có thay đổi vị trí cột và giá trị cột V= Cột I + Cột H, Cột U= Cột V/ Cột T (hoặc cột I), Cột V và Cột I sẽ không dùng công thức mà dùng VBA để cho bớt nặng dữ liệu vậy thôi.Chưa hiểu luôn!
2 bảng lúc nào cũng bằng số dòng, chỉ khác số cột phải không?
Chẳng lọc ra cái gì cả phải không?
Nhìn 2 bảng của bạn mỗi bảng chỉ có 1 dòng thì làm sao hiểu.



Ok bạn làm đúng ý mình mong muốn rồi, cảm ơn bạn nhiều, nhưng khi coppy/dán vào vùng A3:J1000 thì lại không chạy được.Bạn sửa lại giúp mình vớiQuái chiêu thiệt.
Bạn làm cái gì trên vùng A3:J1000 thì code cũng chạy!
Đã là "quái chiêu" thì phải sử dụng "quái chiêu"Ok bạn làm đúng ý mình mong muốn rồi, cảm ơn bạn nhiều, nhưng khi coppy/dán vào vùng A3:J1000 thì lại không chạy được.Bạn sửa lại giúp mình với
ReDim dArr(1 To UBound(sArr, 1), 1 To 8)
On Error Resume Next '<----------------Thêm dòng này vào
For I = 2 To UBound(sArr, 1)



Mình đã thêm dòng đó vào nhưng vẫn chưa được bạn ơi.ý mình là mỗi lần copy dán vào thì tự động cập nhập hông phải sửa hoặc bấm F2 được không bạn, đồng thời thiếu dữ liệu cột nào đó vẫn chạy ví dụ như cột thứ tự không có dữ liệu vẫn thực hiện đượcĐã là "quái chiêu" thì phải sử dụng "quái chiêu"
Copy dán vào xong mà không chạy thì: Chọn 1 ô nào đó trong A3:J1000 ấn F2 - Enter thử xem sao
Thêm dòng On Error Resume Next vào.
"Chạy"!PHP:ReDim dArr(1 To UBound(sArr, 1), 1 To 8) On Error Resume Next '<----------------Thêm dòng này vào For I = 2 To UBound(sArr, 1)
Mình đã thêm dòng đó vào nhưng vẫn chưa được bạn ơi.ý mình là mỗi lần copy dán vào thì tự động cập nhập hông phải sửa hoặc bấm F2 được không bạn, đồng thời thiếu dữ liệu cột nào đó vẫn chạy ví dụ như cột thứ tự không có dữ liệu vẫn thực hiện được
Lần đầu tiên gặp cảnh này.Mình đã thêm dòng đó vào nhưng vẫn chưa được bạn ơi.ý mình là mỗi lần copy dán vào thì tự động cập nhập hông phải sửa hoặc bấm F2 được không bạn, đồng thời thiếu dữ liệu cột nào đó vẫn chạy ví dụ như cột thứ tự không có dữ liệu vẫn thực hiện được



Cảm ơn bạn nhiều nhé.Lần đầu tiên gặp cảnh này.
Cột thứ tự không có dữ liệu vẫn chạy.
Nhưng phải có cột nào đó xác định để biết mà chạy chứ, không lẽ "ngữi thí" rồi chạy.
Bây giờ không có dữ liệu cột B là không chạy, ngoài ra chạy tuốt.