2013-05-29 72 views
1

是否可以從用戶選擇中獲取多個範圍?例如,如果用戶選擇「A1:B2」,然後按住ctrl並選擇「E1:G2」,那麼我可以得到第一個範圍爲1範圍變量,第二個到另一個?從用戶選擇中獲取多個範圍(Excel VBA)

+1

這是可能的。在這裏,你需要給我們一個你已經嘗試過的例子,以便我們的答案儘可能有幫助。請告訴我們相關的代碼,並告訴我們你還想做什麼。 –

+0

@DougGlancy我通常會說同樣的事情......但如果想想這個問題,初學者可能很難弄清楚這一點。 – 2013-05-29 15:17:23

+0

我唯一能想到的就是要求用戶在輸入框中輸入範圍,但我想只用選擇來完成。最終目標是乘以選擇中的兩個矩陣。 – user2419750

回答

4

我覺得Areas集合是你在找什麼。下面是選擇兩個非連續範圍的示例:

Sub testing() 
    'testing area 
    Range("A1:A10,E1:E10").Select 

    Dim rngFirst As Range 
    Dim rngSecond As Range 

    Set rngFirst = Selection.Areas(1) 
    rngFirst.Select 

    'if there is no other separate range within selection to avoid errors 
    'which could solved possible problems this way 
    On Error Resume Next 
    Set rngSecond = Selection.Areas(2) 
    rngSecond.Select 

End Sub 
+0

謝謝! – user2419750

1

是其可能的,這是做這件事:

Sub Selected__Ranges() 
    Range("A1:B2,E1:G2").Select 
    Dim rng 
    Set rng = Selection 
    Debug.Print rng.Address 
End Sub