Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Office

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Triển khai macro VBA là phương pháp hiệu quả, nhanh nhất và an toàn nhất để chạy bất kỳ thao tác nào trong Excel. Bài viết này sẽ chỉ cách chuyển đổi số cột thành chữ cái trong Excel bằng VBA.

Tải file thực hành

Bạn có thể tải file Excel thực hành miễn phí từ đây.

3 phương pháp triển khai VBA chuyển số cột thành chữ cái trong Excel

Phần này, bạn sẽ học cách chuyển một số cột cụ thể thành chữ cái, số cột do người dùng nhập thành chữ cái và tạo UDF (Hàm do người dùng định nghĩa) chuyển số cột thành chữ cái trong Excel bằng VBA.

1. VBA chuyển số cột cụ thể thành chữ cái trong Excel

Các bước chuyển một số cột cụ thể thành chữ cái trong Excel với VBA như sau.

Các bước:

  • Nhấn Alt + F11 hoặc vào tab Developer -> Visual Basic mở Visual Basic Editor.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

  • Trong cửa sổ mã, từ thanh menu, nhấp Insert -> Module.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

  • Sao chép mã sau dán vào cửa sổ mã.
Sub ColNumToLetter() 
    Dim ColNumber As Long 
    Dim ColLetter As String 
    'Input Column Number 
    ColNumber = 200 
    'Convert To Column Letter 
    ColLetter = Split(Cells(1, ColNumber).Address, "$")(1) 
    'Display Result 
    MsgBox "Column " & ColNumber & " = Column " & ColLetter 
End Sub

Mã sẵn sàng chạy.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Mã này chuyển số cột 200 thành địa chỉ chữ cái tương ứng.

  • Nhấn F5 hoặc từ menu Run -> Run Sub/UserForm. Hoặc nhấp biểu tượng Play nhỏ trên thanh sub-menu.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Hộp tin nhắn Excel hiển thị địa chỉ chữ cái (GR) của số cột (ví dụ 200) nhập trong mã.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Đọc thêm: VBA dùng Range dựa trên số cột trong Excel (4 phương pháp)

Bài đọc tương tự

  • [Đã sửa] Excel hiển thị số cột thay vì chữ cái (2 giải pháp)
  • Cách chuyển chữ cái cột thành biểu đồ số trong Excel (4 cách)

2. VBA chuyển số cột thành chữ cái với Hàm do người dùng định nghĩa (UDF) trong Excel

Các bước chuyển số cột thành chữ cái với UDF trong Excel với VBA như sau.

Các bước:

  • Cùng cách trước, mở Visual Basic Editor từ tab Developer và Insert Module trong cửa sổ mã.
  • Trong cửa sổ mã, sao chép mã sau dán vào.
Public Function NumToLtr(ColNum) 
    NumToLtr = Split(Cells(1, ColNum).Address, "$")(1) 
End Function

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Đây không phải Sub Procedure để chạy VBA, đây là tạo Hàm do người dùng định nghĩa (UDF). Vì vậy, sau khi viết mã, thay vì nhấp Run từ menu, nhấp Save (Lưu).

  • Quay lại worksheet quan tâm, viết hàm vừa tạo bằng VBA (Hàm NumToLtr ở dòng đầu mã) và trong ngoặc hàm NumToLtr, truyền số tham chiếu ô muốn chuyển thành chữ cái (trường hợp này truyền Ô B5).

Công thức cuối cùng:

=NumToLtr(B5)

  • Nhấn Enter.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Bạn nhận được chữ cái tương ứng (A) của số cột (1) trong tập dữ liệu.

  • Kéo hàng xuống bằng Fill Handle áp dụng UDF cho các ô còn lại chuyển thành chữ cái.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Với câu lệnh GoTo

Thủ tục trên cũng làm được với câu lệnh GoTo.

  • Mã VBA chuyển số cột thành chữ cái với GoTo:
Public Function Num_Letter(ByVal iColNum As Integer) As String 
    Dim SLetter As String 
    On Error GoTo iError 
    Num_Letter = Left(Cells(1, iColNum).Address(False, False), _ 
    Len(Cells(1, iColNum).Address(False, False)) - 1) 
    Exit Function 
    iError: 
    Call MsgBox(Err.Number & " - " & Err.Description) 
End Function

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

  • Như trên, gọi UDF trong tập dữ liệu, truyền số tham chiếu ô làm đối số, nhấn Enter và kéo hàng để chuyển số cột thành chữ cái trong Excel với GoTo trong VBA.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Với vòng lặp Do-While

Do-While Loop là cách khác chuyển số cột thành chữ cái trong VBA Excel.

  • Mã VBA chuyển số cột thành chữ cái với Do-While Loop:
Function NumberToLetter(iCol As Long) As String 
    Dim a As Long 
    Dim b As Long 
    a = iCol 
    NumberToLetter = "" 
    Do While iCol > 0 
        a = Int((iCol - 1) / 26) 
        b = (iCol - 1) Mod 26 
        NumberToLetter = Chr(b + 65) & NumberToLetter 
        iCol = a 
    Loop 
End Function

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

  • Tương tự, gọi UDF trong tập dữ liệu, truyền số tham chiếu ô làm đối số, nhấn Enter và kéo hàng để chuyển số cột thành chữ cái trong Excel với Do-While Loop trong VBA.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Đọc thêm: Excel VBA: Thiết lập Range theo hàng và số cột (3 ví dụ)

3. VBA thay đổi số cột thành chữ cái từ đầu vào người dùng trong Excel

Các bước thay đổi số cột thành chữ cái từ đầu vào người dùng trong Excel với VBA như sau.

Các bước:

  • Cùng cách trước, mở Visual Basic Editor từ tab Developer và Insert Module trong cửa sổ mã.
  • Trong cửa sổ mã, sao chép mã sau dán vào.
Sub GetNumberFromUser() 
    Dim ColNumber As Long 
    Dim ColLetter As String 
    'User Input: Column Number 
    ColNumber = InputBox("Please Enter a Column Number") 
    'Convert the user-entered Column Number To Column Letter 
    ColLetter = Split(Cells(1, ColNumber).Address, "$")(1) 
    'Display the Result 
    MsgBox "Column Number: " & ColNumber & _ 
    " = Column Letter: " & ColLetter 
End Sub

Mã sẵn sàng chạy.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

  • Run macro.
  • Hộp tin nhắn Excel xuất hiện yêu cầu số cột. Nhập Số cột muốn chuyển, nhấn OK.

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Bạn nhận kết quả chuyển đổi số cột (ví dụ 200) thành địa chỉ chữ cái (GR).

Chuyển đổi số cột Excel thành chữ cái bằng VBA – 3 phương pháp đã chứng minh

Đọc thêm: VBA dùng Range dựa trên số cột trong Excel (4 phương pháp)

Kết luận

Bài viết này chỉ cách chuyển số thành chữ cái trong Excel với VBA. Hy vọng rất hữu ích. Thoải mái hỏi nếu có thắc mắc về chủ đề.

Các bài viết liên quan

  • Cách đổi tên cột từ ABC sang 1 2 3 trong Excel
  • Cách chuyển chữ cái cột thành biểu đồ số trong Excel (4 cách)
  • Cách tham chiếu ô theo hàng và số cột trong Excel (4 phương pháp)
  • Excel VBA: Chọn nhiều cột (3 phương pháp)
  • Cách trả về số cột khớp trong Excel (5 cách hữu ích)