2012-12-09 17 views
7

संभव डुप्लिकेट:
VBA function to convert column number to letter?मैं कैसे एक सेल के स्तंभ पत्र प्राप्त कर सकते हैं (, यह अतीत में इस तरह के ए.ए. के रूप में जेड स्तंभ काम करने की जरूरत है एबी)

मैं करना चाहते हैं ज़ेड कॉलम के पीछे कॉलम अक्षर हैं, ज़ेड कॉलम से पहले इसे प्राप्त करने के लिए कई तकनीकें हैं लेकिन ज़ेड के बाद, कुछ भी काम नहीं करता क्या ऐसा करने का कोई तरीका है?

उत्तर

13

एक अन्य विधि:

Public Function ColumnLettersFromRange(rInput As Range) As String 

    ColumnLettersFromRange = Split(rInput.Address, "$")(1) 

End Function 
6

यह काम करना चाहिए:

 
Function ColumnName(rng As Range) As String 
    Dim s As String 
    s = rng.Address(False, False) 
    ColumnName = Left(s, Len(s) - Len(Format(rng.Row, "0"))) 
End Function 
1

वर्कशीट कार्यों का उपयोग करते हुए स्तंभ अक्षर गणना करने के लिए वास्तव में एक अच्छी योजना नहीं है। पीटर अल्बर्ट की वीबीए विधि का उपयोग करना इसे करने का एक बहुत अच्छा तरीका है!

मैं एक बना कार्यपत्रक फ़ंक्शन का उपयोग पर एक जाना था, सिर्फ मनोरंजन के लिए:/

ए-ZZ

=IF(A1<27,CHAR(64+A1),IF(A1<703,CHAR(64+INT(A1/26))&CHAR(A1-INT(A1/26)+64),"TOO BIG!")) 

ए-XFD (काम नहीं करता है)

=IF(A1<27,CHAR(64+A1),IF(A1<703,CHAR(64+INT(A1/26))&CHAR(A1-(INT(A1/26)*26)+64),CHAR(64+INT(A1/676))&CHAR(64+(INT(A1-(INT(A1/676)*676))/26))&CHAR(64+INT(A1-((INT(A1-(INT(A1/676)*676))/26)*26))))) 

अंतिम व्यक्ति पते में तीसरे चरित्र को काम करने की कोशिश करने पर पड़ता है, मैं इसे इस्तेमाल करने के रूप में परेशान नहीं किया जा सकता है यह एक अच्छी योजना नहीं है!

+0

सूत्र मैं (XFD तक काम करता है) के साथ समाप्त हो गया Thats: '= IF (भागफल (स्तंभ (A1), 26^2), CHAR (64 + भागफल (स्तंभ (ए 1), 26^2)), "") और आईएफ (QUOTIENT (COLUMN (ए 1), 26^1), CHAR (64 + QUOTIENT (COLUMN (ए 1) -क्वोटेंट (COLUMN (ए 1), 26^2) * 26^2,26^1)), "") और CHAR (64 + एमओडी (COLUMN (ए 1), 26)) ' –

+2

' = सबस्टिट्यूट (पता (1, ए 1,4), 1, " ")' –