Tự động copy công thức xuống khi chép dữ liệu vào (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Emyeuexcel

Thành viên thường trực
Tham gia
9/6/16
Bài viết
322
Được thích
35
Chào anh chị em GPE,

Mình có file đính kèm, mong anh chị giúp cho. Mỗi ngày e làm báo cáo là chép dữ liệu vào từ cột A đến cột N. Mà số dòng dữ liệu thay đổi khi thì 30 ngàn dòng, khi thì 35 ngàn và có xu hướng tăng dần...
Em có công thức cột phụ là cột O để tham chiếu vào báo cáo- Nếu lỡ quên kéo công thức này xuống hết dòng cuối dữ liệu mới chép vào thì kết quả báo cáo sẽ sai.
Vậy có cách nào khi mình chép dữ liệu vào thì công thức cột O này tự động copy xuống dòng cuối cùng của dữ liệu tương ứng.
Rất mong anh chị em giúp mình với!
Em xin chân thành cảm ơn!
 

File đính kèm

Chào anh chị em GPE,

Mình có file đính kèm, mong anh chị giúp cho. Mỗi ngày e làm báo cáo là chép dữ liệu vào từ cột A đến cột N. Mà số dòng dữ liệu thay đổi khi thì 30 ngàn dòng, khi thì 35 ngàn và có xu hướng tăng dần...
Em có công thức cột phụ là cột O để tham chiếu vào báo cáo- Nếu lỡ quên kéo công thức này xuống hết dòng cuối dữ liệu mới chép vào thì kết quả báo cáo sẽ sai.
Vậy có cách nào khi mình chép dữ liệu vào thì công thức cột O này tự động copy xuống dòng cuối cùng của dữ liệu tương ứng.
Rất mong anh chị em giúp mình với!
Em xin chân thành cảm ơn!
Vậy công thức kéo hết bảng tính luôn đi.Để như vậy làm gì.Nếu muốn tự động thì dùng VBA nhé.
 
Chào anh chị em GPE,

Mình có file đính kèm, mong anh chị giúp cho. Mỗi ngày e làm báo cáo là chép dữ liệu vào từ cột A đến cột N. Mà số dòng dữ liệu thay đổi khi thì 30 ngàn dòng, khi thì 35 ngàn và có xu hướng tăng dần...
Em có công thức cột phụ là cột O để tham chiếu vào báo cáo- Nếu lỡ quên kéo công thức này xuống hết dòng cuối dữ liệu mới chép vào thì kết quả báo cáo sẽ sai.
Vậy có cách nào khi mình chép dữ liệu vào thì công thức cột O này tự động copy xuống dòng cuối cùng của dữ liệu tương ứng.
Rất mong anh chị em giúp mình với!
Em xin chân thành cảm ơn!
Nhưng mà nếu bạn muốn dùng VBA tự động khi chép dữ liệu vào vùng và tự động copy công thức xuống thì có thể sẽ cà giựt , quay quay. Theo mình nên tạo ra 1 cái nút và Click vào cái nút đó để cập nhập công thức.
 
Mỗi ngày có A-N = 14 cột. Nhân cho 30 ngàn dòng là 420 ngàn dữ liệu chi tiết.
Hạng này loại QL CSDL trung như Access cũng đầu hàng.
Tốt hơn hết là nên tìm một phần mềm chuyên. Có thể viết bằng VB.Net hay C# gì đó, CSDL mySQL, hay Oracle, SQL Server.
Tập "bớt yêu Excel" là vừa.
 
Vậy công thức kéo hết bảng tính luôn đi.Để như vậy làm gì.Nếu muốn tự động thì dùng VBA nhé.
Chào bạn,

Mình cũng kéo công thức xuống dự phòng, nhưng ko biết dữ liệu ngày hôm sau đó nó dài đến đâu, có khi dữ liệu lại nhiều hơn-Không lẽ kéo hết dòng excel...
Nếu bạn biết VBA thì cho mình code với nhé!
Cảm ơn bạn!
 
Chào bạn,

Mình cũng kéo công thức xuống dự phòng, nhưng ko biết dữ liệu ngày hôm sau đó nó dài đến đâu, có khi dữ liệu lại nhiều hơn-Không lẽ kéo hết dòng excel...
Nếu bạn biết VBA thì cho mình code với nhé!
Cảm ơn bạn!
Đã làm việc là luôn cẩn thận. Sao lại có việc quên không kéo công thức được. Bảng chi tiết có 1 số tổng, tôi tổng hợp sang bảng tổng hợp sau đó tôi kiểm tra tổng 2 bảng có bằng nhau không? Luôn đặt trong đầu mình là làm xong phải kiểm tra dữ liệu.
 
Chào anh chị em GPE,

Mình có file đính kèm, mong anh chị giúp cho. Mỗi ngày e làm báo cáo là chép dữ liệu vào từ cột A đến cột N. Mà số dòng dữ liệu thay đổi khi thì 30 ngàn dòng, khi thì 35 ngàn và có xu hướng tăng dần...
Em có công thức cột phụ là cột O để tham chiếu vào báo cáo- Nếu lỡ quên kéo công thức này xuống hết dòng cuối dữ liệu mới chép vào thì kết quả báo cáo sẽ sai.
Vậy có cách nào khi mình chép dữ liệu vào thì công thức cột O này tự động copy xuống dòng cuối cùng của dữ liệu tương ứng.
Rất mong anh chị em giúp mình với!
Em xin chân thành cảm ơn!
Nhập công thức vào ô P1
P1 =IF(COUNTA(A2:A40000)>COUNTA(O2:O40000),"Copy cột phụ ngay lập tức","Ok")
 
Nhập công thức vào ô P1
P1 =IF(COUNTA(A2:A40000)>COUNTA(O2:O40000),"Copy cột phụ ngay lập tức","Ok")
Hihi, chào bạn!
IF(COUNTA(A:A)>COUNTA(O:O),"copy cột O", "OK") = lời nhắc nhở chân thành!
Ý mình là tự động được thì càng tốt.
Dầu sao cũng cảm ơn bạn!
 
Đã làm việc là luôn cẩn thận. Sao lại có việc quên không kéo công thức được. Bảng chi tiết có 1 số tổng, tôi tổng hợp sang bảng tổng hợp sau đó tôi kiểm tra tổng 2 bảng có bằng nhau không? Luôn đặt trong đầu mình là làm xong phải kiểm tra dữ liệu.
Nhưng nếu có người viết code làm cái việc "cẩn thận" này giùm cho mình thì nhờ chứ sao.
Châm ngôn của GPE: việc gì mình có thể nhờ người khác vết code thì không nên tự cố sức làm.

(Mấy chục ngàn dòng dữ liệu mà bảo dùng sự kiện để code tự động cập nhật thì cần xem lại cấu hình máy.)
 
Chào các bạn,

Mình đã tìm hiểu và tự mày mò, cuối cùng cũng làm được code VBA cho file kèm của mình rồi!
Cảm ơn các bạn dù chưa ai giúp mình code trong topic này.
Mình thử với 35 ngàn dòng chạy cũng trơn tru.
Mong các anh chị cao thủ chỉ dạy thêm nếu có ý kiến nào hay.
Em chân thành cảm ơn!
 

File đính kèm

Chào các bạn,

Mình đã tìm hiểu và tự mày mò, cuối cùng cũng làm được code VBA cho file kèm của mình rồi!
Cảm ơn các bạn dù chưa ai giúp mình code trong topic này.
Mình thử với 35 ngàn dòng chạy cũng trơn tru.
Mong các anh chị cao thủ chỉ dạy thêm nếu có ý kiến nào hay.
Em chân thành cảm ơn!
Theo kinh nghiệm của mình bạn chỉ cần để công thức ở 1-2 dòng trên cùng, sau khi chạy code copy công thức, bạn cho thêm dòng code hóa Value các dòng còn lại đã được cập nhập công thức, làm vậy cho file vừa nhẹ vừa đỡ cừ giật mỗi khi cần lọc, filter hay bổ sung nào đó trên file gốc
 
Theo kinh nghiệm của mình bạn chỉ cần để công thức ở 1-2 dòng trên cùng, sau khi chạy code copy công thức, bạn cho thêm dòng code hóa Value các dòng còn lại đã được cập nhập công thức, làm vậy cho file vừa nhẹ vừa đỡ cừ giật mỗi khi cần lọc, filter hay bổ sung nào đó trên file gốc
Chào bạn,
Cảm ơn góp ý của bạn nhưng mình không rành về code lắm. Bạn biết thì bổ sung giúp mình với nhé!
 
Chào bạn,
Cảm ơn góp ý của bạn nhưng mình không rành về code lắm. Bạn biết thì bổ sung giúp mình với nhé!
Mình đã thêm được đoạn code copy và paste value, nhưng không hiểu sao sau khi kết thúc thì vùng dữ liệu vừa được dán giá trị nó còn ở dạng copy (nó có vòng ngắt quảng chạy quanh)
Sub CopyCongThuc()
Dim i As Long
i = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Range("O2").Copy (Sheets("Sheet1").Range("O3:O" & i))
MsgBox "Da copy " & i - 3 & " dòng"
Range("O3:O" & i).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
Mong anh chị chỉ giúp cách nó không hiện cái trạng thái đó nữa.
Em cảm ơn!
 

File đính kèm

Mình đã thêm được đoạn code copy và paste value, nhưng không hiểu sao sau khi kết thúc thì vùng dữ liệu vừa được dán giá trị nó còn ở dạng copy (nó có vòng ngắt quảng chạy quanh)
Sub CopyCongThuc()
Dim i As Long
i = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Range("O2").Copy (Sheets("Sheet1").Range("O3:O" & i))
MsgBox "Da copy " & i - 3 & " dòng"
Range("O3:O" & i).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
Mong anh chị chỉ giúp cách nó không hiện cái trạng thái đó nữa.
Em cảm ơn!
Range("O3:O" & i).value =Range("O3:O" & i).value
 
Chào anh,

câu này là thêm vào đoạn nào hay thay thế cho đoạn nào, a chỉ giúp vì em ko rành code lắm!
e cảm ơn a!
Dùng thử.
Mã:
Sub CopyCongThuc()
    Dim i As Long
    i = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
    Range("O2").Copy Range("O3:O" & i)
    Range("O3:O" & i).Value = Range("O3:O" & i).Value
    MsgBox "Da copy " & i - 3 & " dòng"
End Sub
 
Chào các bạn,

Mình đã tìm hiểu và tự mày mò, cuối cùng cũng làm được code VBA cho file kèm của mình rồi!
Cảm ơn các bạn dù chưa ai giúp mình code trong topic này.
Mình thử với 35 ngàn dòng chạy cũng trơn tru.
Mong các anh chị cao thủ chỉ dạy thêm nếu có ý kiến nào hay.
Em chân thành cảm ơn!
Mình làm không dùng code mà vẫn chạy ok, bạn làm thử theo cách này nha:
1. Chọn vùng dữ liệu hiện tại => home => format as table
2. Vào excel option => proofing => autocorrect option => autoformat as you type => tick vào 2 dòng dưới
3. Vào công thức chỗ O2, sửa lại tham chiếu chỗ B2 (nhìn hình) => fill xuống dòng cuối trong table
Vậy là ok, table nó sẽ tự mở rộng khi có giá trị mới chèn phía dưới

View attachment 239103
1.png
2.png
3.png
 
Chào anh chị em GPE,

Mình có file đính kèm, mong anh chị giúp cho. Mỗi ngày e làm báo cáo là chép dữ liệu vào từ cột A đến cột N. Mà số dòng dữ liệu thay đổi khi thì 30 ngàn dòng, khi thì 35 ngàn và có xu hướng tăng dần...
Em có công thức cột phụ là cột O để tham chiếu vào báo cáo- Nếu lỡ quên kéo công thức này xuống hết dòng cuối dữ liệu mới chép vào thì kết quả báo cáo sẽ sai.
Vậy có cách nào khi mình chép dữ liệu vào thì công thức cột O này tự động copy xuống dòng cuối cùng của dữ liệu tương ứng.
Rất mong anh chị em giúp mình với!
Em xin chân thành cảm ơn!
Cái ngày mình thấy đơn giản mà, cần gì tạo VBA. Chỉ cần chọn vùng bảng dữ liệu rồi chọn FORMAT AS TABLE là được rồi.
 
Cái ngày mình thấy đơn giản mà, cần gì tạo VBA. Chỉ cần chọn vùng bảng dữ liệu rồi chọn FORMAT AS TABLE là được rồi.
Table vẫn làm được nhưng nó sẽ mang hàm theo cả bảng.
Vì mỗi ngày người ta chép dữ liệu vào rất lớn đến 30 ngàn dòng, để cho File đỡ ì ạch người ta mới cần đến VBA.
 
Web KT

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

Back
Top Bottom