2012-07-14 121 views
1

我想弄清楚如何在Excel(2007) - 工作表中獲取所選範圍的位置。是否有類似於$self->{EXCEL}->ActiveCell->Row的單元格(self->{EXCEL}是Excel對象)?範圍對象在Excel中的位置

我試過->Selection->Range->ActiveSheet->Range,並作爲一種解決方法->Range->Row->Range->Rows都與Excel-並沒有成功一個工作表,對象。

最花哨的輸出是兩個單元對象,一個用於開始地址,另一個結束地址。

感謝您的任何有用的提示!

===更新===

我現在用成功的命令$self->{EXCEL}->Selection->Address();檢索選定範圍的地址。默認情況下,我在「A1」格式中獲取地址($E$1:$G$14)。然而,使用->Address("ToReferenceStyle:=xlR1C1")不會像我所預料的那樣以「R1C1」格式返回地址...

錯誤的命令?無知的Excel? Thanky再次提供任何有用的提示!

+0

在VBA:'Selection.Cells(1).Address()'和'Selection.Cells(Selection.Cells.Count).Address()'會給你的位置開始和結束單元格,假設它是一個連續的常規範圍選擇。 – 2012-07-14 23:38:15

+0

我做了一個編輯,試圖幫助你解決第二個問題。爲什麼不創建一個新的呢? – 2012-07-19 18:19:48

回答

3

->Selection->Address怎麼樣?我不確定格式,但是選擇(範圍對象)的地址屬性會給你例如範圍的地址。 $A$1:$B$7。您將能夠通過分割冒號上的字符串來解析開始和結束。

爲了解決您的新問題......我甚至不確定您使用的是什麼,但地址方法的第三個參數是ReferenceStyle而不是ToReferenceStyle。所以我會嘗試->Address(ReferenceStyle:=xlR1C1)->Address(,,xlR1C1)

+1

感謝您的回答,他們非常有幫助! ' - >選擇 - >地址'就可以做到這一點,就像@Tim的評論中提到的命令一樣。 – 2012-07-19 14:43:27

+0

再次感謝@Daniel,同時也爲我提供了關於使用stackoverflow的提示:-)但是,兩個命令都以A1格式返回地址。 – 2012-07-19 19:15:33

+0

這是有點過時了,但不是把'xlR1C1',你可能想嘗試'-4150' – 2013-01-24 20:29:09