Sửa lỗi khi sử dụng tính năng Copy as Picture

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Mr.hieudoanxd

Thành viên thường trực
Tham gia
25/10/19
Bài viết
322
Được thích
150
Chào cả nhà!
Em hay sử dụng tính năng Copy as Picture để tạo ảnh trên bảng tính excel, ảnh có thể thay đổi khi ta thay đổi tham chiếu trong thanh Formula. Tuy nhiên không rõ vì vấn đề gì mà hôm qua đến nay, khi thay đổi tham chiếu trong thanh Formula thì ảnh không còn hiển thị nữa mà hiển thị như hình em đính kèm phía dưới.
Nhờ cả nhà giúp em xem lỗi là gì và cách khắc phục như thế nào?
 

File đính kèm

  • Loi Khi Copy as Picture.png
    Loi Khi Copy as Picture.png
    32.2 KB · Đọc: 25
Bạn thử gỡ cài lại excel chưa .
 
Upvote 0
Em úp file đó lên đây.
Lần sau có chụp hình thì nhớ chụp toàn màn hình nhé.
 
Upvote 0
Em gửi file đính kèm ở dưới bài.
Ở file này em Copy as Picture (CsP) bằng code VBA vùng $F$5:$G$12 ra 2 ảnh có "Picture 1" và "Picture 2". Ở ảnh "Picture 2" em thay đổi vùng trên thanh Formula từ =$F$5:$G$12 thành =$F$5:$G$13 lúc này ảnh hiển thị bị lỗi. Ngoài ra nếu anh sửa giá trị trong vùng copy anh cũng bị lỗi. Trước ngày hôm qua hoàn toàn bình thương anh @befaint
Code để tạo ảnh Copy em sử dụng như sau :
Mã:
Sub Copy_Clipboard()
    Dim ar1, ar2, strAdress As String
    With Selection ' Xac dinh dia chi vung
        ar1 = Split(Cells(1, .Cells(1).Column).Address, "$")
        ar2 = Split(Cells(1, .Cells(.Count).Column).Address, "$")

        If .Count = 1 Then
            strAdress = "$" & ar1(1) & "$" & .Cells(1).Row
        Else
            strAdress = "$" & ar1(1) & "$" & .Cells(1).Row & ":$" & ar2(1) & "$" & .Cells(.Count).Row
        End If
    End With
   
    Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Formula = "=" & strAdress
End Sub
 

File đính kèm

  • New Microsoft Excel Worksheet.xlsx
    11.4 KB · Đọc: 7
  • Loi Khi Copy as Picture 2.png
    Loi Khi Copy as Picture 2.png
    61.9 KB · Đọc: 12
Upvote 0
Như thế này mới chạy được.

Mã:
Option Explicit

Sub Copy_Clipboard()
    Dim ar1, ar2, strAdress As String
    With Selection ' Xac dinh dia chi vung
        ar1 = Split(Cells(1, .Cells(1).Column).Address, "$")
        ar2 = Split(Cells(1, .Cells(.Count).Column).Address, "$")

        If .Count = 1 Then
            strAdress = "$" & ar1(1) & "$" & .Cells(1).Row
        Else
            strAdress = "$" & ar1(1) & "$" & .Cells(1).Row & ":$" & ar2(1) & "$" & .Cells(.Count).Row
        End If
    End With
    Selection.Copy
    ActiveSheet.Pictures.Paste(Link:=True).Select
End Sub
 
Upvote 0
Mã:
Option Explicit
Sub Copy_Clipboard()
    Selection.Copy
    ActiveSheet.Pictures.Paste(Link:=True).Select
End Sub
Em xóa 80% mà vẫn chạy ngon anh ạ..... Nhưng mà em vẫn thắc mắc là tại sao trước của em vẫn chạy được mà tự dưng 1 ngày đẹp trời lại không chạy được anh nhỉ?
 
Upvote 0
Web KT

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

Back
Top Bottom