Create excel ranges using column numbers in vba?

前端 未结 9 2233
误落风尘
误落风尘 2021-02-02 05:56

How is it possible to create a range in vba using the column number, rather than letter?

9条回答
  •  滥情空心
    2021-02-02 06:24

    Haha, Lovely - let me also include my version of stackPusher's code :). We are using this functionality in C#. Works fine for all Excel ranges.:

    public static String ConvertToLiteral(int number)
    {
            int firstLetter = (((number - 27) / (26 * 26))) % 26;
            int middleLetter = ((((number - 1) / 26)) % 26);
    
            int lastLetter = (number % 26);
            firstLetter = firstLetter == 0 ? 26 : firstLetter;
            middleLetter = middleLetter == 0 ? 26 : middleLetter;
            lastLetter = lastLetter == 0 ? 26 : lastLetter;
            String returnedString = "";
            returnedString = number > 27 * 26 ? (Convert.ToChar(firstLetter + 64).ToString()) : returnedString;
            returnedString += number > 26 ? (Convert.ToChar(middleLetter + 64).ToString()) : returnedString;
            returnedString += lastLetter >= 0 ? (Convert.ToChar(lastLetter + 64).ToString()) : returnedString;
            return returnedString;
    }
    

提交回复
热议问题