Paste dữ liệu từ Clipboard copy từ 1 bảng excel khác

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

probaby

Thành viên mới
Tham gia
8/4/08
Bài viết
33
Được thích
4
Các anh, chị xem đoạn code của e ạ :
Mã:
Sub AutoCopyE()
If MsgBox("Make sure that you have copied data from MCmic" & vbNewLine & "App going to delete the current data" & vbNewLine & "Are you sure to continue?", vbYesNo, "TN team - https://tnmaker.wordpress.com") = vbNo Then
Exit Sub
End If
Application.ScreenUpdating = False
Range("Ans_Table").Select
a = ActiveCell.Address
Selection.Resize(Selection.Rows.Count, 1 + Selection.Columns.Count).Offset(, -1).Select
Selection.ClearContents
Application.DisplayAlerts = False
ActiveSheet.Paste
Application.DisplayAlerts = True
ActiveCell.Offset(-1, -2).Select
Selection.Formula = "=" & a
Application.ScreenUpdating = True
End Sub
CODE này em gán vào 1 button nhằm mục đích dán dữ liệu đã copy từ 1 bảng tính excel khác, code báo lỗi tại dòng
Mã:
 ActiveSheet.Paste
do sau khi chạy xong các dòng code định vị vị trí cần paste thì clipboard bị xóa luôn. Em đã thử với nguồn dữ liệu khác ngoài excel như word thì code chạy bình thường.
Các anh các chị giúp em ạ. Em cảm ơn
 
Các anh, chị xem đoạn code của e ạ :
Mã:
Sub AutoCopyE()
If MsgBox("Make sure that you have copied data from MCmic" & vbNewLine & "App going to delete the current data" & vbNewLine & "Are you sure to continue?", vbYesNo, "TN team - https://tnmaker.wordpress.com") = vbNo Then
Exit Sub
End If
Application.ScreenUpdating = False
Range("Ans_Table").Select
a = ActiveCell.Address
Selection.Resize(Selection.Rows.Count, 1 + Selection.Columns.Count).Offset(, -1).Select
Selection.ClearContents
Application.DisplayAlerts = False
ActiveSheet.Paste
Application.DisplayAlerts = True
ActiveCell.Offset(-1, -2).Select
Selection.Formula = "=" & a
Application.ScreenUpdating = True
End Sub
CODE này em gán vào 1 button nhằm mục đích dán dữ liệu đã copy từ 1 bảng tính excel khác, code báo lỗi tại dòng
Mã:
 ActiveSheet.Paste
do sau khi chạy xong các dòng code định vị vị trí cần paste thì clipboard bị xóa luôn. Em đã thử với nguồn dữ liệu khác ngoài excel như word thì code chạy bình thường.
Các anh các chị giúp em ạ. Em cảm ơn
Hên thì trúng: Xóa dòng lệnh Selection.ClearContents rồi chạy thử
 
Bác ơi vì số lượng dữ liệu mỗi lần mỗi khác nên trước khi dán dữ liệu em bắt buộc phải xóa dữ liệu cũ để đảm bảo mọi thứ không bị lẫn lộn vào nhau
Mới uống thuốc Liều
Mã:
Sub AutoCopyE()
If MsgBox("Make sure that you have copied data from MCmic" & vbNewLine & "App going to delete the current data" & vbNewLine & "Are you sure to continue?", vbYesNo, "TN team - https://tnmaker.wordpress.com") = vbNo Then
  Exit Sub
End If
Dim Arr As Variant
Application.DisplayAlerts = False
Application.ScreenUpdating = False
On Error Resume Next
Range("Ans_Table").Offset(, -1).Select
ActiveSheet.Paste
If Err.Number Then MsgBox ("Chua Copy!"): Exit Sub
Application.CutCopyMode = False
Arr = Selection.Value
Range("Ans_Table").Select
a = ActiveCell.Address
Selection.Resize(Selection.Rows.Count, 1 + Selection.Columns.Count).Offset(, -1).Select
Selection.ClearContents
Selection.Resize(1, 1).Resize(UBound(Arr), UBound(Arr, 2)) = Arr
ActiveCell.Offset(-1, -2).Select
Selection.Formula = "=" & a
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
 
Mới uống thuốc Liều
Mã:
Sub AutoCopyE()
If MsgBox("Make sure that you have copied data from MCmic" & vbNewLine & "App going to delete the current data" & vbNewLine & "Are you sure to continue?", vbYesNo, "TN team - https://tnmaker.wordpress.com") = vbNo Then
  Exit Sub
End If
Dim Arr As Variant
Application.DisplayAlerts = False
Application.ScreenUpdating = False
On Error Resume Next
Range("Ans_Table").Offset(, -1).Select
ActiveSheet.Paste
If Err.Number Then MsgBox ("Chua Copy!"): Exit Sub
Application.CutCopyMode = False
Arr = Selection.Value
Range("Ans_Table").Select
a = ActiveCell.Address
Selection.Resize(Selection.Rows.Count, 1 + Selection.Columns.Count).Offset(, -1).Select
Selection.ClearContents
Selection.Resize(1, 1).Resize(UBound(Arr), UBound(Arr, 2)) = Arr
ActiveCell.Offset(-1, -2).Select
Selection.Formula = "=" & a
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
:eek::eek::eek::eek: Cảm ơn bác rất nhiều ạ, code đã chạy theo đúng ý em _)(#;
 
Web KT

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

Back
Top Bottom