如何获得Excel工作表中当前视图端口的坐标?

我需要将图表放在Excel工作表的正中,用户正在查看的位置。 显然,0是纸张坐标系X轴上的最开始,X向右移动时会增加。 例如,用户可能正在查看J到Z列,并且我需要用户正在查看的工作表中的哪个位置的坐标,因此我可以将图表放在他的正前方。

我如何获得一张纸的“查看端口”相对于纸张坐标系的坐标? 还有其他更简单的方法把图表放在那里吗?

谢谢。

你可以尝试类似的东西

Sub test() MsgBox Application.ActiveWindow.ActivePane.VisibleRange.AddressLocal End Sub 

在我的情况下,它打开msgbox内容$A$271:$X$312我希望这可以帮助你。

编辑:

好吧,试图找出与XY坐标,并得到以下几点:

 Sub TestPixel() With Range(ActiveWindow.ActivePane.VisibleRange.AddressLocal) Debug.Print .Left, .Top Debug.Print .Left + .Width, .Top + .Height End With End Sub 

打印出左上angular的x / y坐标和右下angular的x / y坐标

编辑2:

刚刚过了几分钟,用我的testing工作簿完成了你的任务。 这是makro:

 Sub PositionDiagramm() Dim x As Integer Dim y As Integer Dim height As Integer Dim width As Integer With Range(ActiveWindow.ActivePane.VisibleRange.AddressLocal) x = .Left y = .Top width = .Width height = .Height End With With ActiveSheet.Shapes("Diagramm 1") .Top = y + ((height - .Height) / 2) .Left = x + ((width - .Width) / 2) End With End Sub