Tôi đã viết một số mã VBA tự động tạo biểu đồ. Một trong các trục trên biểu đồ này không sử dụng các nhãn thông thường mà là một hình ảnh. Tôi đã lưu trữ hình ảnh dưới dạng hình ảnh và tôi sử dụng các phương thức .Copy và .Paste để lấy một bản sao của hình ảnh này lên biểu đồ.Cách di chuyển hình dạng xoay đến một vị trí cụ thể trong excel 2010 bằng cách sử dụng vba
Đây là nơi mọi thứ trở nên khó hiểu. Tôi cần phải xoay hình ảnh để nó được căn chỉnh với trục (sử dụng thuộc tính .rotation). Nhưng khi tôi đặt thuộc tính .top và .left, hình dạng không kết thúc ở nơi tôi mong đợi. Trong thực tế, thiết lập các thuộc tính là 0 và 0 không làm những gì tôi mong chờ. Tôi đã thử thay đổi thứ tự của cách tôi đặt các thuộc tính trên đối tượng hình ảnh nhưng nó chỉ xuất hiện ở một vị trí khác (sai).
Tôi chắc chắn tôi thiếu một số khía cạnh quan trọng về cách VBA/Excel đặt đối tượng liên quan đến những gì tôi đang đặt thuộc tính trên cùng và bên trái. Về cơ bản mục tiêu của tôi là làm cho hình ảnh ở phía bên trái của biểu đồ với chiều rộng tương tự như chiều cao của khu vực âm mưu (kể từ khi hình ảnh được xoay tôi lý thuyết này sẽ làm cho nó cùng kích thước).
Mã này không làm việc:
Sheets(ImageSheet).Shapes("agreement").Copy
c.Chart.Paste
c.Chart.Shapes(1).Rotation=270
c.Chart.Shapes(1).width = c.Chart.PlotArea.height
c.Chart.shapes(1).left = 5
c.Chart.Shapes(1).top = c.Chart.PlotArea.top
Tôi cũng đã thử mã này
c.chart.Shapes(1).top = c.chart.PlotArea.top + c.Chart.PlotArea.height
vì tôi nghĩ có lẽ nó đã được tính toán "top" như góc trên bên trái của đối tượng hình ảnh khi nó không được xoay (xoay 270 độ làm cho điểm này ở một nơi mà nó phải phù hợp với đáy của khu vực cốt truyện). Nhưng điều đó không làm những gì tôi mong đợi.
Hình ảnh là hình chữ nhật gầy hoạt động như một nhãn cho trục. Biểu đồ sẽ được đưa ra như sau: http://imgur.com/NrSXR và hình ảnh nhãn trục sẽ có dạng như thế này http://imgur.com/08EWU
Tôi thiếu gì ở đây?
+1 cho câu hỏi chu đáo bằng văn bản. Nó có thể giúp đỡ nếu bạn có thể cung cấp một liên kết đến một số tệp giả với hình ảnh của bạn trong đó. –