Excel sütun numaralarını alfabetik karakterlere dönüştürme

Giriş

Bu makalede, Microsoft Excel'de Microsoft Visual Basic for Applications (VBA) işlevini kullanarak sütun numaralarını aynı sütun için karşılık gelen alfabetik karakter belirleyicisine dönüştürme açıklanır.

Örneğin, 30 sütun numarası eşdeğer alfabetik karakterlere dönüştürülür "AD".

Daha Fazla Bilgi

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna zımni garantiler, satılabilirlik veya belirli bir amaca uygunluk da dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.

ConvertToLetter işlevi aşağıdaki algoritmayı kullanarak çalışır:

  1. Sütun numarası olsun iCol . 1'den küçükse iCol durdurun.
  2. Bölümü ve kalan bölümü 26'ya (iCol - 1) bölme işlemini hesaplayın ve ile bdeğişkenlerinde a depolayın.
  3. tamsayı değerini b karşılık gelen alfabetik karaktere (0 => A, 25 => Z) dönüştürün ve sonuç dizesinin önüne yapıştırın.
  4. Bölen a ve döngü olarak ayarlayıniCol.

Örneğin: Sütun numarası 30'dur.

  • (Döngü 1, adım 1) Sütun numarası en az 1'dir, devam edin.

  • (Döngü 1, adım 2) Bir sütundan küçük olan sayı 26'ya bölünür:

    29 / 26 = 1 kalan 3. a = 1, b = 3

  • (Döngü 1, adım 3) Alfabenin (b+1) harfine tack:

    3 + 1 = 4, dördüncü harf "D"dir. Sonuç = "D"

  • (Döngü 1, adım 4) ile 1. adıma Geri döniCol = a

    iCol = 1

  • (Döngü 2, adım 1) Sütun numarası en az 1'dir, devam edin.

  • (Döngü 2, adım 2) Bir sütundan küçük olan sayı 26'ya bölünür:

    0 / 26 = 0 kalan 0. a = 0, b = 0

  • (Döngü 2, adım 3) Alfabenin b+1 harfine tack:

    0 + 1 = 1, ilk harf "A" Sonucu = "AD"

  • (Döngü 2, adım 4) ile 1. adıma Geri döniCol = a

    iCol = 0

  • (Döngü 3, adım 1) Sütun numarası 1'den küçük, dur.

Aşağıdaki VBA işlevi, sütun numarası değerlerini eşdeğer alfabetik karakterlere dönüştürmenin yalnızca bir yoludur:

Function ConvertToLetter(iCol As Long) As String
   Dim a As Long
   Dim b As Long
   a = iCol
   ConvertToLetter = ""
   Do While iCol > 0
      a = Int((iCol - 1) / 26)
      b = (iCol - 1) Mod 26
      ConvertToLetter = Chr(b + 65) & ConvertToLetter
      iCol = a
   Loop
End Function

Not Bu işlev yalnızca ona geçirilen tamsayıları eşdeğer alfasayısal metin karakterlerine dönüştürür. Fiziksel çalışma sayfasındaki sütunun veya satır başlıklarının görünümünü değiştirmez.