0
我需要將圖表放置在Excel工作表的正中,用戶正在查看的位置。 顯然,0是紙張座標系X軸上的最開始,而當我們向右移動時,X增加。例如,用戶可能正在查看J到Z列,並且我需要用戶正在查看的工作表中的哪個位置的座標,因此我可以將圖表放在他的正前方。如何獲取Excel工作表中當前視圖端口的座標?
如何獲取表單相對於工作表座標系的「查看端口」座標? 有沒有其他更簡單的方法把圖表放在那裏?
謝謝。
我需要將圖表放置在Excel工作表的正中,用戶正在查看的位置。 顯然,0是紙張座標系X軸上的最開始,而當我們向右移動時,X增加。例如,用戶可能正在查看J到Z列,並且我需要用戶正在查看的工作表中的哪個位置的座標,因此我可以將圖表放在他的正前方。如何獲取Excel工作表中當前視圖端口的座標?
如何獲取表單相對於工作表座標系的「查看端口」座標? 有沒有其他更簡單的方法把圖表放在那裏?
謝謝。
你可以嘗試像
Sub test()
MsgBox Application.ActiveWindow.ActivePane.VisibleRange.AddressLocal
End Sub
在我的情況下,它會打開與內容$A$271:$X$312
我希望這有助於你走出MSGBOX。
編輯:
好吧,試着用XY座標圖出來,並得到了以下內容:
Sub TestPixel()
With Range(ActiveWindow.ActivePane.VisibleRange.AddressLocal)
Debug.Print .Left, .Top
Debug.Print .Left + .Width, .Top + .Height
End With
End Sub
打印出左上角X/Y座標,右下角的X/Y座標
編輯:NO2
剛生了幾分鐘,完成你的任務我testworkbook。 這裏是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
讓我走近1步,謝謝。但是我需要可見範圍的座標 - 以像素爲單位,因爲圖表需要屏幕座標。對此有何想法? – TheAgent
不錯的一個。對您的代碼進行一些評論。首先,你應該使用'Dim x as Integer,y as Integer'等等。它不符合你的寫作方式。其次,你應該用英文寫成你的變量而不是德語,這對任何非德語的人來說都會更容易閱讀 – JMax
謝謝你對Dim語句的評論。我剛剛讀到,沒有'as Type'的變量被聲明爲Variant。不知道。對於變量名稱:因爲這是英語質量保證網站,我同意這一點。 – DKSan