2010-09-10 12 views
7

यह usedrange समस्या नहीं है।
एक्सेल उपयोगकर्ता में उदाहरण के लिए एक सीमा (संभवतः खाली) माउस का उपयोग कर चयन करता है, मान लीजिए कि बी 4 करते हैं: C12एक्सेल वीबीए उपयोगकर्ता द्वारा चुनी गई रेंज की रेंज माउस

और इस के बाद मान लीजिए का चयन रद्द रेंज उपयोगकर्ता मैक्रो प्रेस के बिना, और मैक्रो बी 4 बताना चाहिए: C12

कोई भी उदाहरण दिखा सकता है?

Sub showrng() 
    MsgBox SelectedRange.Address(ReferenceStyle:=xlA1) 
End Sub 

उत्तर

11
Sub macro1() 
    MsgBox Selection.Address(ReferenceStyle:=xlA1, _ 
          RowAbsolute:=False, ColumnAbsolute:=False) 
End Sub 

HTH:

मैक्रो निम्नलिखित की तर्ज पर कुछ होना चाहिए!

+1

+1 लेकिन ReferenceStyle: = xlA1 होगा प्रश्न की आवश्यकताओं को अधिक बारीकी से मेल करें – barrowc

3
Sub macro1() 
    MsgBox Selection.Address 
End Sub 

या

Sub macro1() 
    Dim addr as String 
    addr = Selection.Address 
    msgbox addr 

    ' Now, as we found the address, according to that... you can also do other operations 

End Sub 
1

चयन कई स्वतंत्र पर्वतमाला शामिल कर सकते हैं के रूप में, निम्न कोड समस्या के लिए एक अधिक पूर्ण समाधान दिखाता है:

Public Sub SelectionTest() 
Dim r As Range 
Dim s As String 

    Select Case Selection.Areas.Count 
    Case 0: 
    MsgBox "Nothing selected." 
    Case 1: 
    MsgBox "Selected range: " & Selection.Areas(1).Address(False, False) 
    Case Else 
    s = "" 
    For Each r In Selection.Areas 
     s = s + vbNewLine + r.Address(False, False) 
    Next r 
    MsgBox "Selected several areas:" & s 
    End Select 

End Sub 
संबंधित मुद्दे