Triển khai Macro VBA là phương pháp hiệu quả nhất, nhanh nhất và an toàn nhất để chạy bất kỳ hoạt động nào trong Excel. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách chuyển số cột thành chữ cái trong Excel sử dụng VBA .
Tải xuống Workbook
Bạn có thể tải xuống sổ làm việc Excel thực hành miễn phí từ đây.
3 phương pháp triển khai VBA để chuyển đổi số cột thành chữ cái trong Excel
Trong phần này, bạn sẽ tìm hiểu cách chuyển đổi một số cột cụ thể thành chữ cái , người dùng nhập số cột thành chữ cái và tạo UDF (Hàm do người dùng xác định) để chuyển đổi số cột thành chữ cái trong Excel với VBA .
1. VBA để chuyển đổi một số cột cụ thể thành chữ cái trong Excel
Các bước chuyển đổi a số cột cụ thể cho một chữ cái trong Excel với VBA được đưa ra bên dưới.
Các bước:
- Nhấn Alt + F11 trên bàn phím của bạn hoặc chuyển đến tab Nhà phát triển -> Visual Basic để mở Visual Basic Editor .
- Trong cửa sổ mã bật lên, từ thanh trình đơn, nhấp vào Chèn -> Mô-đun .
- Sao chép mã sau và 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ã của bạn hiện đã sẵn sàng để chạy.
Mã này sẽ chuyển đổi số cột 200 tới địa chỉ thư được liên kết của nó .
- Nhấn F5 trên bàn phím của bạn hoặc từ thanh trình đơn, chọn Run -> Run Sub / UserForm . Bạn cũng có thể chỉ cần nhấp vào biểu tượng Play nhỏ trong thanh menu phụ để chạy macro.
Bạn sẽ nhận được hộp thông báo bật lên của Microsoft Excel hiển thị địa chỉ thư ( GR ) của số cột (ví dụ: 200 ) mà bạn nhập bên trong mã.
Đọc thêm: VBA để sử dụng phạm vi dựa trên số cột trong Excel (4 phương pháp)
Bài đọc tương tự
- [Cố định] Số cột Excel Thay vì Chữ cái (2 Giải pháp)
- Cách chuyển đổi 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 xác định (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 được đưa ra bên dưới.
Các bước:
- Tương tự như trước đây, mở Visual Basic Editor từ Nhà phát triển và Chèn a Mô-đun trong cửa sổ mã.
- Trong cửa sổ mã, hãy sao chép và dán mã sau đây.
Public Function NumToLtr(ColNum)
NumToLtr = Split(Cells(1, ColNum).Address, "$")(1)
End Function
Đây không phải là một thủ tục phụ cho VBA chương trình để chạy, đây là tạo Hàm do người dùng xác định (UDF) . Vì vậy, sau khi viết mã, thay vì nhấp vào nút Chạy từ thanh trình đơn, nhấp vào Lưu .
- Bây giờ, hãy quay lại trang tính quan tâm và viết hàm bạn vừa tạo bằng VBA mã (Hàm NumToLtr trong dòng đầu tiên của mã) và bên trong dấu ngoặc đơn của NumToLtr , chuyển số tham chiếu ô mà bạn muốn chuyển đổi thành chữ cái (trong trường hợp của chúng tôi, chúng tôi chuyển Ô B5 bên trong dấu ngoặc đơn).
Vì vậy, công thức cuối cùng của chúng tôi đề cập đến,
=NumToLtr (B5)
- Nhấn Enter .
Bạn sẽ nhận được địa chỉ thư được liên kết ( A ) của số cột ( 1 ) trong tập dữ liệu của bạn.
- Bây giờ hãy kéo hàng xuống bằng cách Fill Handle để áp dụng UDF vào phần còn lại của các ô để chuyển chúng thành các chữ cái.
Với Tuyên bố GoTo
Quy trình trên cũng có thể được thực hiện với GoTo Tuyên bố.
- VBA mã để chuyển đổi số cột thành chữ cái bằng GoTo Tuyên bố là,
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
- Bây giờ, như được hiển thị ở trên, gọi UDF trong tập dữ liệu, chuyể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 Tuyên bố trong VBA .
Với vòng lặp Do-While
Thực hiện trong khi Vòng lặp là một cách khác để chuyển đổi số cột thành chữ cái trong VBA Excel.
- VBA mã để chuyển đổi số cột thành chữ cái với Do-While Vòng lặp là,
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
- Tương tự, gọi UDF trong tập dữ liệu, chuyể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 Lặp lại trong VBA .
Đọc thêm: Excel VBA:Đặt Phạm vi theo Hàng và Số Cột (3 Ví dụ)
3. VBA để thay đổi số cột thành chữ cái từ người dùng nhập trong Excel
Các bước để thay đổi số cột thành chữ cái từ thông tin người dùng nhập trong Excel với VBA được đưa ra bên dưới.
Các bước:
- Tương tự như trước đây, mở Visual Basic Editor từ Nhà phát triển và Chèn a Mô-đun trong cửa sổ mã.
- Trong cửa sổ mã, hãy sao chép và dán mã sau đây.
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ã của bạn hiện đã sẵn sàng để chạy.
- Chạy macro.
- Một hộp thông báo bật lên của Microsoft Excel sẽ xuất hiện yêu cầu số cột. Viết Số cột mà bạn muốn chuyển đổi dưới dạng ký tự bên trong hộp, sau đó nhấn OK .
Bạn sẽ nhận được kết quả được chuyển đổi của số cột (ví dụ: 200 ) mà bạn nhập vào địa chỉ thư được liên kết ( GR ).
Đọc thêm: VBA để sử dụng phạm vi dựa trên số cột trong Excel (4 phương pháp)
Kết luận
Bài viết này đã hướng dẫn bạn cách chuyển số thành chữ cái trong Excel bằng VBA . Tôi hy vọng bài viết này rất hữu ích cho bạn. Vui lòng hỏi nếu bạn có bất kỳ câu hỏi nào liên quan đến chủ đề này.
Các bài viết liên quan
- Cách Thay đổi Tên Cột từ ABC thành 1 2 3 trong Excel
- Cách chuyển đổi 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ả lại số cột đối sánh trong Excel (5 cách hữu ích)