Tạo nút Copy theo điều kiện

  • Thread starter Thread starter mymapmap
  • Ngày gửi Ngày gửi
Liên hệ QC

mymapmap

Thành viên hoạt động
Tham gia
4/5/09
Bài viết
167
Được thích
24
Nghề nghiệp
KTV Điện tử
Mình có vùng dữ liệu tính toán từ dòng 1 đến đến dòng 64 trong đó có vùng C43; I43; I44 (C47:L47) là vùng dữ liệu thay đổi được nhập vào
nhưng do người tính copy vùng tính toán đó dán xuống dòng 65 đến dòng 128 hay quên xóa số liệu trong (C111:L111); C107;I107;I108 đã nhập ở trên nên làm sai kết quả tính toán.
Mình muốn tạo ra nút lệnh Copy theo theo điều kiện là
khi Click lần 1 sẽ copy dòng 1 đến dòng 64 dán vào dòng 65 và xóa nội dung trong cell mới dán xuống (C111:L111); C107;I107;I108. được xóa đi đển người sử dụng nhập số liệu lại
Click copy lần 2 se copy dòng 65 đến dòng 128 (có thể copy dòng 1 đếng dòng 64 cũng được ) dán vào dòng 129 và xóa nội dung trong cell mới dán xuống (C175:L175); C171;I171;I172. được xóa đi đển người sử dụng nhập số liệu lại....
và cứ mỗi lần click copy sẽ dán xuống kế tiếp và xoá nội dung trong cell nhập liệu.
Các A/C thông thái chỉ mình đoạn code này giúp mình nhé. Mình rất cần cho chuyện khắc phục sai sót trong công việc cứ diễn ra hoài.
Rất mong nhận được sự giúp đỡ của A/C.
Xin trân trọng cảm ơn.;;;;;;;;;;;
 
Bà con chuẩn bị đón xuân hết rồi. Không ai ý kiến gì hết. Buồn quá đi-\\/.!$@!!-\\/.
 
Upvote 0
Mình giả lập cho bạn đây:

PHP:
Option Explicit
Public TimeS As Byte, OK As Byte
Const Paj As Byte = 64
Sub CopyRanges()
 Dim Rng As Range, dRng As Range, tRng As Range
 Dim StrC As String
 
 Set Rng = Range("A1:M64")
 Set dRng = Union([c43], [i43].Resize(2), [c47], [l47])
 TimeS = TimeS + 1
 StrC = "Ban Can Copy Den: " & Rng.Offset(Paj * TimeS).Address & _ 
      Chr(13)   & "Va Xoa Vung: " & dRng.Offset(Paj * TimeS).Address
 
 OK = MsgBox(StrC, 4)
 If OK = 6 Then
   Rng.Copy Destination:=Rng.Offset(Paj * TimeS)
   dRng.Offset(Paj * TimeS).Value = ""
 End If
End Sub

Mã:
[B]Sub GanLai()[/B]
 TimeS = InputBox("Ban Can Gan Lai: " & TimeS, "1")
[B]End Sub[/B]
 

File đính kèm

Upvote 0
Do bạn chẳng đưa file lên nên cũng không biết giúp thế nào ---> Có file sẽ thấy ngay kết quả!
Vậy đi nha!
khi Dán xuống dòng 65 nội dung ô màu xanh phải xóa đi
tương tự khi dán xuống dòng 129 nội dung ô màu xanh phải được xóa đi cứ tiếp tục copy dán kế xuống nội dung ô màu xanh mới dán xuống phải được reset về null để nhập lại.
 

File đính kèm

Upvote 0
khi Dán xuống dòng 65 nội dung ô màu xanh phải xóa đi
tương tự khi dán xuống dòng 129 nội dung ô màu xanh phải được xóa đi cứ tiếp tục copy dán kế xuống nội dung ô màu xanh mới dán xuống phải được reset về null để nhập lại.
Bạn đặt pass cho file, chắc để tự bạn làm luôn quá... Hic...
 
Upvote 0

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Dán và xóa

PHP:
Option Explicit
Public TimeS As Byte, OK As Byte
Const Paj As Byte = 64
Sub CopyRanges()
Dim Rng As Range, dRng As Range, tRng As Range
Dim StrC As String
 
Set Rng = Range("A1:M64")
Set dRng = Union([c43], [i43].Resize(2), [c47], [l47])
TimeS = TimeS + 1
StrC = "Ban Can Copy Den: " & Rng.Offset(Paj * TimeS).Address & _ 
Chr(13) & "Va Xoa Vung: " & dRng.Offset(Paj * TimeS).Address
 
OK = MsgBox(StrC, 4)
If OK = 6 Then
Rng.Copy Destination:=Rng.Offset(Paj * TimeS)
dRng.Offset(Paj * TimeS).Value = ""
End If
End Sub

Mã:
[B]Sub GanLai()[/B]
TimeS = InputBox("Ban Can Gan Lai: " & TimeS, "1")
[B]End Sub[/B]
Sao biến TimeS chỉ đến 4 thôi hơn nữa sẽ báo lỗi
Mong các Pro khắc phục hộ
Xin cảm ơn nhiều!
 

File đính kèm

Upvote 0
copy

up lai file đính kèm
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom