Xóa Macro sau khi thực thi lệnh

Liên hệ QC

truonggiang73

Thành viên hoạt động
Tham gia
27/6/09
Bài viết
113
Được thích
35
Để nhanh chóng trong nhập dữ liệu, tôi đã tạo Macro để thực thi sao chép cột số liệu mới sang số liệu cũ. Vì không Undo được nên tôi muốn thêm 01 Msbox VBYesNo cho người sử dụng nhưng không biết cách làm thế nào để dừng chạy khi chọn No. Sau khi chọn Yes, Macro thực hiện lệnh và tự xóa luôn chính Macro đó luôn (Vì chỉ chạy 01 lần nhưng có rất nhiều biểu).
Mong sự giúp đỡ của mọi người.
TG73 thân chào.
 

File đính kèm

Để nhanh chóng trong nhập dữ liệu, tôi đã tạo Macro để thực thi sao chép cột số liệu mới sang số liệu cũ. Vì không Undo được nên tôi muốn thêm 01 Msbox VBYesNo cho người sử dụng nhưng không biết cách làm thế nào để dừng chạy khi chọn No. Sau khi chọn Yes, Macro thực hiện lệnh và tự xóa luôn chính Macro đó luôn (Vì chỉ chạy 01 lần nhưng có rất nhiều biểu).
Mong sự giúp đỡ của mọi người.
TG73 thân chào.
Bạn xem cái này đúng ý bạn chưa?>
PHP:
Sub Button1_Click()
Dim Ans As String
Ans = MsgBox("Ban co chac chan chuyen so cong to khong? Da chuyen la khong khoi phuc lai duoc", vbquetion + vbYesNo)
Select Case Ans
      Case vbYes
           With Range("d5:d13")
                  .Copy Range("C5")
                  .Select
                  Application.CutCopyMode = False
                  Selection.ClearContents
           End With
      Case vbNo
End Select
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Bạn xem cái này đúng ý bạn chưa?>
Sao mà lằng nhằng quá
Vầy là được rồi:
PHP:
Sub Button1_Click()
  If MsgBox("Ban co chac chan chuyen so cong to khong?" _
    & vbLf & "Da chuyen la khong khoi phuc lai duoc", 4) = 6 Then
    With Range("D5:D13")
      .Copy Range("C5")
      .ClearContents
    End With
  End If
End Sub
Hoặc rút gọn nữa:
PHP:
Sub Button1_Click()
  If MsgBox("Ban co chac chan chuyen so cong to khong?" _
    & vbLf & "Da chuyen la khong khoi phuc lai duoc", 4) = 6 Then _
    Range("D5:D13").Copy Range("C5"): Range("D5:D13").ClearContents
End Sub
Bấm NO đâu có làm gì nên đâu cần Case vbNo chi chứ?
-----------------------
Với tác giả:
Riêng về vụ XÓA MACRO thì.. không dể ăn đâu nha!
Nói ra xin bạn đừng giận, chỉ mấy cái YES, NO của MsgBox mà bạn làm còn chưa làm xong thì... E rằng bạn phải "tu luyện thêm" 1 thời gian nữa mới có thể nghĩ đến tuyệt chiêu này
 
Lần chỉnh sửa cuối:
Upvote 0
Với tác giả:
Riêng về vụ XÓA MACRO thì.. không dể ăn đâu nha!...

Cảm ơn thầy NDU cùng bạn Khoavu87. Được giúp đỡ và học hỏi mà còn giận thì lần sau nào dám hỏi ai. Nhưng tu luyện để được 1/n thành công lực như thầy khó quá nhưng cũng phải cố thôi.
TG73 xin cảm ơn nhiều.
 
Upvote 0
Cảm ơn thầy NDU cùng bạn Khoavu87. Được giúp đỡ và học hỏi mà còn giận thì lần sau nào dám hỏi ai. Nhưng tu luyện để được 1/n thành công lực như thầy khó quá nhưng cũng phải cố thôi.
TG73 xin cảm ơn nhiều.
Yên tâm đi... Với n = 0.5 hoặc...gì gì đó thỏa đ/k 0 < n < 1 thì.. thành tựu của bạn sẽ không thể nào tưởng tượng được đâu
Ẹc... Ẹc...
-----------
Giờ bạn hãy "tu luyện" thử "bí kiếp" này xem:
http://www.giaiphapexcel.com/forum/showthread.php?t=4625
Biết đâu "công lực" tăng lên cũng không chừng ---> Hy vong rằng n sẽ dần dần < 1
(Nếu đôi lúc bị "tẩu hỏa nhập ma" thì đấy không phải lổi tại tôi à nha)
 
Upvote 0
Với tác giả:
Riêng về vụ XÓA MACRO thì.. không dể ăn đâu nha!

Trước khi xem bí kíp của thầy, em có ý tưởng thế này có được không?
1, Tạo 01 Macro B (MB), nội dung là sẽ đóng Macro trên (MA) sau khi MA hoàn thành nhiệm vụ rồi sau đó mới xóa MA.
2, Với MA : Sau khi thực thi lệnh xong sẽ gọi MB.
Nhược điểm là không thực hiện trực tiếp được và vẫn tồn tại MB. Thầy thấy ý kiến đó có được không?
Nhưng dẫu sao cũng là ý tưởng thôi, còn thực hiện thì còn phải cần nhiều thứ lắm.
Còn :
Giờ bạn hãy "tu luyện" thử "bí kiếp" này xem:
http://www.giaiphapexcel.com/forum/s...ead.php?t=4625
Biết đâu "công lực" tăng lên cũng không chừng ---> Hy vong rằng n sẽ dần dần < 1
(Nếu đôi lúc bị "tẩu hỏa nhập ma" thì đấy không phải lổi tại tôi à nha)

Hic...hic. Biết đến bao giờ mới được nếm mùi "Tẩu hỏa nhập ma" đây.
 
Upvote 0
Web KT

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

Back
Top Bottom