Excel ChartObject.Copy đưa ra lỗi thời gian chạy 1004
Tôi có đoạn mã sau gần đây đã ngừng hoạt động.
Dim nWS dưới dạng bảng tính
làm mờ myChtObj dưới dạng excel.chartobject
làm mờ myWS dưới dạng bảng tính
Nếu nWS.ChartObjects.Count = 0 thì
'sao chép đối tượng biểu đồ qua
Đặt myChtObj = myWS.ChartObjects("ProjInspHist")
Debug.Print myChtObj.Name 'Tên biểu đồ được liệt kê
myChtObj.Copy 'Lỗi thời gian chạy 1004 trên dòng này
Điểm đến nWS.Paste:=nWS.Range(myChtObj.TopLeftCell.Address)
Kết thúc nếu
FWIW, đoạn mã này đã hoạt động được một thời gian và gần đây đã ngừng hoạt động. Tôi đang dùng Office 2010 nhưng đã chuyển sang dùng nó vào tháng 4 và tôi chắc chắn rằng mã này đã hoạt động sau khi chuyển từ 2007 sang 2010.
Cảm ơn bạn đã giúp đỡ,
Barb Reinhardt
Trả lời:
Chào Barb,
Tôi đã thêm biểu đồ vào "Sheet2" của mình, đặt tên là "ProjInspHist" thông qua tab Công cụ biểu đồ > Bố cục, sau đó kiểm tra mã sau (bit tôi đã thêm được đánh dấu) trong Excel 2010:
Dim nWS As Worksheet
Dim myChtObj dưới dạng Excel.ChartObject
Làm mờ myWS dưới dạng bảng tính
Đặt nWS = Bảng tính("Sheet1")
Đặt myWS = Bảng tính("Sheet2")
Nếu nWS.ChartObjects.Count = 0 thì
'sao chép đối tượng biểu đồ qua
Đặt myChtObj = myWS.ChartObjects("ProjInspHist")
Debug.Print myChtObj.Name 'Tên biểu đồ được liệt kê
myChtObj.Copy 'KHÔNG CÓ LỖI
Điểm đến nWS.Paste:=nWS.Range(myChtObj.TopLeftCell.Address)
Kết thúc nếu
Mã chạy tốt, không có lỗi và biểu đồ đã được sao chép.
Sổ làm việc của bạn có thể đã được mở ở Chế độ chỉ đọc hoặc Chế độ xem được bảo vệ không? Tôi nghĩ rằng (ngược lại) Sao chép bị vô hiệu hóa ở cả hai trạng thái.
Chúc mừng
Giàu có
Trả lời:
Tôi đã thử lại sáng nay sau khi đóng Excel và mở lại. Không có lỗi nào cả.
Comments
Post a Comment