Chép công thức bằng macro

Liên hệ QC

tongquangtuyen

Thành viên hoạt động
Tham gia
14/9/07
Bài viết
150
Được thích
47
MÌNH CÓ MỘT DỮ LIỄU TRONG FILE ĐÍNH KÈM ,NHỜ XEM DÙM MACRO GÁN TRONG NÚT gl CHECK ON .KHI THỰC HIÊN THÌ NÓ CHẠY RẤT CHẬM !!! CÓ CÁCH NÀO ĐỂ CHẠY NHANH HƠN KO? NHỜ ANH CHỊ TRÊN DIỄN ĐÀN HƯỚNG DẪN DÙM.CÁM ƠN !
 
Lần chỉnh sửa cuối:
MÌNH CÓ MỘT DỮ LIỄU TRONG FILE ĐÍNH KÈM ,NHỜ XEM DÙM MACRO GÁN TRONG NÚT gl CHECK ON .KHI THỰC HIÊN THÌ NÓ CHẠY RẤT CHẬM !!! CÓ CÁCH NÀO ĐỂ CHẠY NHANH HƠN KO? NHỜ ANH CHỊ TRÊN DIỄN ĐÀN HƯỚNG DẪN DÙM.CÁM ƠN !
Thử sửa lại code thành
PHP:
Sub Macro2()
  With Sheets("General Ledger").Range("K6:CE228")
    .Value = Sheets("Kiemtra").Range("K6:CE228").Value
  End With
End Sub
Xem thử thế nào nhé!
Vùng copy và vùng paste là bằng nhau về kích thước, vậy cần gì Copy với Paste cho mệt chứ!
 
Upvote 0
không được bạn ơi nó báo lỗi SUB OR FUNCTION NOT DEFINED
 
Upvote 0
Bác ndu96081631 nhét thêm With vào làm gì vì nó chỉ có 1 dòng thôi mà!
PHP:
Sub Macro2() Sheets("General Ledger").Range("K6:CE228").Value = Sheets("Kiemtra").Range("K6:CE228").Value End Sub
Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Bác ndu96081631 nhét thêm With vào làm gì vì nó chỉ có 1 dòng thôi mà!
PHP:
Sub Macro2()
Sheets("General Ledger").Range("K6:CE228").Value = Sheets("Kiemtra").Range("K6:CE228").Value
End Sub
Thân.
Thì cũng đúng! Tại tôi thấy nó dài lòng thòng nên "cắt" ra cho ngắn bằng With
Ẹc... Ec...
không được bạn ơi nó báo lỗi SUB OR FUNCTION NOT DEFINED
Bạn sửa như thế nào? Đưa nguyên cái file đã sửa và đang bị lổi ấy lên xem thử
 
Upvote 0
coi lại code chép công thức

bạn xem thử nha ! mình gửi kèm theo file đó
 
Lần chỉnh sửa cuối:
Upvote 0
bạn xem thử nha ! mình gửi kèm theo file đó
Tôi thử lại thấy đâu có vấn đề gì nhỉ
Có lẽ sai là do bạn copy code từ diển đàn về, vô tình có ký tự đặc biệt trong code!
Cụ thể đoạn code của bạn:
Sheets("General Ledger").Range("K6:CE228").Value = ...
Có ký tự chr(160) ở phía trước dấu bằng, xóa nó đi là hết chuyện
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
MÌNH THỬ LẠI RỒI THẤY KO CÒN BÁO LỖI NỮA ,KHÔNG HIỂU TẠI SAO?
NHƯNG MÀ MÌNH MUỐN CHÉP CÔNG THỨC TỪ kIEMTRA QUA GENERAL ĐỂ SỬ DỤNG HÀM SUMIF MÀ!!!!
CÒN CODE TRÊN CHỈ CHÉP GIÁ TRỊ KHÔNG HÀ.BẠN XEM LAI GIÚP NHA!
 
Upvote 0
Xin lỗi cả nhà, có thể tiêu đề sai vì câu hỏi là chép công thức nhưng không thấy tongquangtuyen có ý kiến. Đây là vấn đề khi sử lý sao chép cần lưu ý 1 chút. Nếu sử lý như các bạn thì kết quả giống chép và Past Speacial:

Mã:
    Sheets("Kiemtra").Range("K6:CE228")[B][COLOR=Red].Value[/COLOR][/B] = Sheets("General Ledger").Range("K6:CE228")[B][COLOR=Red].Value[/COLOR][/B]
Nhưng nếu các bạn thay bằng code sau:

Mã:
    Sheets("Kiemtra").Range("K6:CE228")[B][COLOR=Red].Formula[/COLOR][/B] = Sheets("General Ledger").Range("K6:CE228")[B][COLOR=Red].Formula[/COLOR][/B]
Kết quả phù hợp với câu hỏi và hay hơn, nếu là giá trị sẽ chép giá trị nhưng nếu là công thức nó sẽ mang công thức sang.

P/s: Sau khi gửi bài mới thấy bài của tongquangtuyen. May bài của mình trở thành là câu trả lời
 
Lần chỉnh sửa cuối:
Upvote 0
Xin lỗi cả nhà, có thể tiêu đề sai vì câu hỏi là chép công thức nhưng không thấy tongquangtuyen có ý kiến. Đây là vấn đề khi sử lý sao chép cần lưu ý 1 chút. Nếu sử lý như các bạn thì kết quả giống chép và Past Speacial:

Mã:
    Sheets("Kiemtra").Range("K6:CE228").Value = Sheets("General Ledger").Range("K6:CE228").Value
Nhưng nếu các bạn thay bằng code sau:

Mã:
    Sheets("Kiemtra").Range("K6:CE228").Formula = Sheets("General Ledger").Range("K6:CE228").Formula
Kết quả phù hợp với câu hỏi và hay hơn, nếu là giá trị sẽ chép giá trị nhưng nếu là công thức nó sẽ mang công thức sang.
Cái này đương nhiên em biết, nhưng ý em là muốn hướng cho tác giả đến việc dùng toàn bộ bằng VBA... Vì cớ gì đã VBA lại phải công thức ---> Nữa nạc nữa mở thế rắc rối lắm
 
Upvote 0
Cái này đương nhiên em biết, nhưng ý em là muốn hướng cho tác giả đến việc dùng toàn bộ bằng VBA... Vì cớ gì đã VBA lại phải công thức ---> Nữa nạc nữa mở thế rắc rối lắm

Cái khó của anh em trên diễn đàn là chỉ biết 1 phần ý đồ của người hỏi, không biết chép sang để làm gì nữa nên cũng khó tham vấn thế nào hay hơn. Cái chính là người hỏi phải rõ ràng phải không các bạn?
 
Upvote 0
cảm ơn các bạn rất nhiều

Cảm ơn các bạn rất nhiều.
Mình không rành VBA cho lắm ,mình mong qua diễn đàn nhờ sự hướng dẫn của các bạn thì khả năng sủ dụng VBA của mình sẽ tốt hơn.
 
Upvote 0
Web KT

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

Back
Top Bottom