Xin được giúp đỡ từ các Anh/Chị trong diễn đàn: Sửa lại mã code VBA (1 người xem)

Liên hệ QC

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

Yugi_Nguyễn

Thành viên mới
Tham gia
23/5/19
Bài viết
32
Được thích
1
Giới tính
Nam
Hi Anh Chị !
Em mới tìm hiểu về VBA nên có viết 1 code" Ghi_overtime" nhưng nó quá dài và chưa tối ưu nên muốn nhờ Anh/Chị sửa giúp
Nội dung như sau ạ:
- Khi em nhập hoàn thành dũ liệu vào khu vực A14:N43 rồi ấn vào "Nhấn để đăng ký overtime" - để chạy code " Ghi_overtime" thì dữ liệu trong khu vực A14:N43 sẽ được copy xuống dưới hàng 52
- Nhưng nó không được tối ưu do có những hàng mà em không có dữ liệu nó vẫn copy xuống ( Tốn dung lượng )

- Nhờ các Anh/Chị sửa giúp em lại code " Ghi_overtime" để chỉ những hàng nào ( Từ hàng 14 xuống hàng 43 ) có dữ liệu tại cột B ,C,D,E tương ứng thì khi chạy code " Ghi_overtime" mới được copy xuống dưới ạ

Em cảm ơn các Anh/Chị ạ
 

File đính kèm

Vậy thì thay vì copy cả cụm thì bạn phải kiểm từng dòng; Dòng nào có dữ liệu mới Copy.
 
Vậy thì thay vì copy cả cụm thì bạn phải kiểm từng dòng; Dòng nào có dữ liệu mới Copy.
em đang để copy từng Ô
Sheets("Overtime form").Cells(x + 1, 1).Value = Range("A14").Value
Anh có thể sửa giúp em thành copy 1 dòng 1 được không ạ
Ví dụ :
Thay Vì

Sheets("Overtime form").Cells(x + 1, 1).Value = Range("A14").Value
Sheets("Overtime form").Cells(x + 1, 2).Value = Range("B14").Value
Sheets("Overtime form").Cells(x + 1, 3).Value = Range("C14").Value
Sheets("Overtime form").Cells(x + 1, 4).Value = Range("D14").Value
Sheets("Overtime form").Cells(x + 1, 5).Value = Range("E14").Value
Sheets("Overtime form").Cells(x + 1, 6).Value = Range("F14").Value
Sheets("Overtime form").Cells(x + 1, 7).Value = Range("G14").Value
Sheets("Overtime form").Cells(x + 1, 8).Value = Range("H14").Value
Sheets("Overtime form").Cells(x + 1, 9).Value = Range("I14").Value
Sheets("Overtime form").Cells(x + 1, 10).Value = Range("J14").Value
Sheets("Overtime form").Cells(x + 1, 11).Value = Range("K14").Value
Sheets("Overtime form").Cells(x + 1, 12).Value = Range("L14").Value
Sheets("Overtime form").Cells(x + 1, 13).Value = Range("M14").Value
Sheets("Overtime form").Cells(x + 1, 14).Value = Range("N14").Value
thì có cách nào ngắn gọn để copy dữ liệu A14 -> N14 khi B14,C14,D14,E14 có dữ liệu
Anh giúp em với ạ

Bài đã được tự động gộp:

Vậy thì thay vì copy cả cụm thì bạn phải kiểm từng dòng; Dòng nào có dữ liệu mới Copy.
Tại em không dành VBA nên đang copy từng Ô 1. Ngồi viết code mà mất nửa tiếng
Anh sửa lại code " Ghi_overtime" giúp em với ạ
Bài đã được tự động gộp:

 
em đang để copy từng Ô
Sheets("Overtime form").Cells(x + 1, 1).Value = Range("A14").Value
Anh có thể sửa giúp em thành copy 1 dòng 1 được không ạ
Ví dụ :
Thay Vì

Sheets("Overtime form").Cells(x + 1, 1).Value = Range("A14").Value
Sheets("Overtime form").Cells(x + 1, 2).Value = Range("B14").Value
Sheets("Overtime form").Cells(x + 1, 3).Value = Range("C14").Value
Sheets("Overtime form").Cells(x + 1, 4).Value = Range("D14").Value
Sheets("Overtime form").Cells(x + 1, 5).Value = Range("E14").Value
Sheets("Overtime form").Cells(x + 1, 6).Value = Range("F14").Value
Sheets("Overtime form").Cells(x + 1, 7).Value = Range("G14").Value
Sheets("Overtime form").Cells(x + 1, 8).Value = Range("H14").Value
Sheets("Overtime form").Cells(x + 1, 9).Value = Range("I14").Value
Sheets("Overtime form").Cells(x + 1, 10).Value = Range("J14").Value
Sheets("Overtime form").Cells(x + 1, 11).Value = Range("K14").Value
Sheets("Overtime form").Cells(x + 1, 12).Value = Range("L14").Value
Sheets("Overtime form").Cells(x + 1, 13).Value = Range("M14").Value
Sheets("Overtime form").Cells(x + 1, 14).Value = Range("N14").Value
thì có cách nào ngắn gọn để copy dữ liệu A14 -> N14 khi B14,C14,D14,E14 có dữ liệu
Anh giúp em với ạ

Bài đã được tự động gộp:


Tại em không dành VBA nên đang copy từng Ô 1. Ngồi viết code mà mất nửa tiếng
Anh sửa lại code " Ghi_overtime" giúp em với ạ
Bài đã được tự động gộp:
Copy có 1 lần sao cần macro?
Copy theo thao tác bình thường mất có 2 giây
 
Web KT

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

Back
Top Bottom