Cái này dùng autofilter là được.Em có file excel có công thức nào để kéo những dòng dữ liệu xuống như file đính kèm giúp em ko. Vì file có rất nhiều dòng nên không thể kéo dữ liệu từng cụm được. Cảm ơn Anh Chị
Em có file excel có công thức nào để kéo những dòng dữ liệu xuống như file đính kèm giúp em ko. Vì file có rất nhiều dòng nên không thể kéo dữ liệu từng cụm được. Cảm ơn Anh Chị



Thay vì phải "Kéo" thì bạn chỉ cần bấm chuột vào nút "Kéo dữ liệu".Anh Chị xem file giúp em. Em muốn Ô A3=A2, B3=B2;A11,A11=A10, B11,B12=B10
(Các ô của cột A và B chỗ nào trống là lấy số liệu của ô liền kế trên. Vì dữ liệu rất nhiều nên e ko thể copy được)
Bạn tạo thêm cột phụ ví dụ là C.Anh Chị xem file giúp em. Em muốn Ô A3=A2, B3=B2;A11,A11=A10, B11,B12=B10
(Các ô của cột A và B chỗ nào trống là lấy số liệu của ô liền kế trên. Vì dữ liệu rất nhiều nên e ko thể copy được)
Nếu cấu trúc giống file đính kèm thì làm thế này cho đơn giản:Anh Chị xem file giúp em. Em muốn Ô A3=A2, B3=B2;A11,A11=A10, B11,B12=B10
(Các ô của cột A và B chỗ nào trống là lấy số liệu của ô liền kế trên. Vì dữ liệu rất nhiều nên e ko thể copy được)



Public Sub dien_dl()
Dim rng As Range, i As Long, data
data = Sheet1.Range("A2:C" & Sheet1.Range("C65500").End(xlUp).Row)
For i = 1 To UBound(data)
If data(i, 1) = "" And data(i, 2) = "" Then
data(i, 1) = data(i - 1, 1)
data(i, 2) = data(i - 1, 2)
data(i, 3) = data(i, 3)
Else
data(i, 1) = data(i, 1)
data(i, 2) = data(i, 2)
data(i, 3) = data(i, 3)
End If
Next i
Sheet1.Range("A2").Resize(UBound(data), 2) = data
End Sub



Thực ra công thức em rất yếu nên trừ những bài mà nghĩ ngay ra được công thức thì em dùng còn đâu là em toàn dùng VBA. Vậy xin thầy cho biết lí do tại sao ở bài này dùng VBA lại là hạ sách ạ?Công việc điền thêm vào ô khuyết dữ liệu như thế này vẫn xảy ra thường xuyên. Làm theo cách của bài #6 là chuẩn nhất rồi (chỉ hơi khác là thường thì người ta insert 1 cột bên cạnh, dùng xong thì delete)
việc này tôi vẫn dùng cho cả chục ngàn dòng. Dung quen rồi sẽ thấy rất tiện. Sử dụng code vba là hạ sách.
Thực ra công thức em rất yếu nên trừ những bài mà nghĩ ngay ra được công thức thì em dùng còn đâu là em toàn dùng VBA. Vậy xin thầy cho biết lí do tại sao ở bài này dùng VBA lại là hạ sách ạ?



Với em thì lại khác. Nếu để kết hợp các công thức lại mới ra kết quả thì em viết code có lẽ nhanh hơn nhiều. Đây là với cá nhân em thôi.Tôi biết cũng khá khá về VBA nhưng trong công việc tôi lại ít khi dùng đến. Dạng bài này mấy cô thư ký nhờ làm hoài và tôi thường áp dụng cách ở bài 7.
Quan điểm của tôi là:
- Giải pháp càng đơn giản càng dễ bảo trì
- Đôi lúc lười, nghĩ rằng mình viết 1 code VBA để làm cho lẹ, nhưng thời gian nghĩ ra được code VBA ấy tôi làm bằng tay đã xong từ sớm
Một điều tối quan trọng: Dùng VBA thì miễn Undo nhé ---> Có sơ sót ráng chịu (mà chuyện sơ sót khó tránh khỏi khi trình độ ta còn kém và không lường được những tình huống có thể xảy ra)
Với em thì lại khác. Nếu để kết hợp các công thức lại mới ra kết quả thì em viết code có lẽ nhanh hơn nhiều. Đây là với cá nhân em thôi.
Thực ra công thức em rất yếu nên trừ những bài mà nghĩ ngay ra được công thức thì em dùng còn đâu là em toàn dùng VBA. Vậy xin thầy cho biết lí do tại sao ở bài này dùng VBA lại là hạ sách ạ?




Bạn tạo thêm cột phụ ví dụ là C.
C1=A1
C2= If(A2="",C1,A2).
Kéo công thức xuống rồi copy và paste value sang A.
Cần gì phải tạo cột phụ đâu?
Bạn chỉ cần chọn cột cần điền, bấm F5 (hoặc Ctrl G), chọn Blank. Khi đó ta đã chọn được tất cả các ô blank. Tại ô blank đầu tiên, bạn đặt công thức = ô liền kề phía trên và cuối cùng Ctrl Enter là có kết quả mong muốn.
Cực nhanh.




phương pháp này người ta đã nêu ra ở bài #7 và nhắc lại ở bài #11. Bây giờ mới chen vào.
cách thêm cột phụ có thể chậm hơn 1 chút, nhưng đó là phương pháp căn bản nhất. Và dễ kiểm soát nhất: nó cho ta thấy rõ dữ liệu trong cột trước khi chép lại




Công việc điền thêm vào ô khuyết dữ liệu như thế này vẫn xảy ra thường xuyên. Làm theo cách của bài #6 là chuẩn nhất rồi (chỉ hơi khác là thường thì người ta insert 1 cột bên cạnh, dùng xong thì delete)
việc này tôi vẫn dùng cho cả chục ngàn dòng. Dung quen rồi sẽ thấy rất tiện. Sử dụng code vba là hạ sách.