การใช้ มาโคร VBA เป็นวิธีที่มีประสิทธิภาพ รวดเร็วที่สุด และปลอดภัยที่สุดในการรันการทำงานใดๆ ใน Excel ในบทความนี้ เราจะแสดงวิธีแปลงหมายเลขคอลัมน์เป็นตัวอักษรใน Excel โดยใช้ VBA .
ดาวน์โหลดสมุดงาน
คุณสามารถดาวน์โหลดเวิร์กบุ๊ก Excel แบบฝึกหัดฟรีได้จากที่นี่
3 วิธีในการใช้ VBA เพื่อแปลงหมายเลขคอลัมน์เป็นตัวอักษรใน Excel
ในส่วนนี้ คุณจะได้เรียนรู้วิธีแปลง หมายเลขคอลัมน์ที่ระบุเป็นตัวอักษร , ผู้ใช้ป้อนหมายเลขคอลัมน์เป็นตัวอักษร และสร้าง UDF (User-Defined Function) เพื่อแปลงหมายเลขคอลัมน์เป็นตัวอักษร ใน Excel ด้วย VBA .
1. VBA เพื่อแปลงหมายเลขคอลัมน์เฉพาะเป็นตัวอักษรใน Excel
ขั้นตอนในการแปลง a หมายเลขคอลัมน์เฉพาะของตัวอักษร ใน Excel ด้วย VBA ด้านล่างนี้
ขั้นตอน:
- กด Alt + F11 บนแป้นพิมพ์ของคุณหรือไปที่แท็บ นักพัฒนา -> Visual Basic เพื่อเปิด Visual Basic Editor .
- ในหน้าต่างรหัสป๊อปอัป จากแถบเมนู ให้คลิก แทรก -> โมดูล .
- คัดลอกโค้ดต่อไปนี้แล้ววางลงในหน้าต่างโค้ด
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
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
รหัสนี้จะแปลง คอลัมน์หมายเลข 200 ไปยังที่อยู่จดหมาย .ที่เกี่ยวข้อง .
- กด F5 บนแป้นพิมพ์หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็ก ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
คุณจะได้รับกล่องข้อความป๊อปอัปของ Microsoft Excel ที่แสดงที่อยู่ของตัวอักษร (GR ) ของหมายเลขคอลัมน์ (เช่น 200 ) ที่คุณป้อนลงในโค้ด
อ่านเพิ่มเติม: VBA ที่จะใช้ช่วงตามหมายเลขคอลัมน์ใน Excel (4 วิธี)
การอ่านที่คล้ายกัน
- [แก้ไข] หมายเลขคอลัมน์ Excel แทนตัวอักษร (2 คำตอบ)
- วิธีการแปลงตัวอักษรของคอลัมน์เป็นแผนภูมิตัวเลขใน Excel (4 วิธี)
2. VBA เพื่อสลับหมายเลขคอลัมน์เป็นตัวอักษรด้วยฟังก์ชันที่ผู้ใช้กำหนด (UDF) ใน Excel
ขั้นตอนในการเปลี่ยน หมายเลขคอลัมน์เป็นตัวอักษรด้วย UDF ใน Excel ด้วย VBA ด้านล่างนี้
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Public Function NumToLtr(ColNum)
NumToLtr = Split(Cells(1, ColNum).Address, "$")(1)
End Function
นี่ไม่ใช่ขั้นตอนย่อยสำหรับ VBA โปรแกรมที่จะรัน นี่คือการสร้าง User Defined Function (UDF) . ดังนั้น หลังจากที่เขียนโค้ดแล้ว แทนที่จะคลิกปุ่มเรียกใช้ จากแถบเมนู คลิกบันทึก .
- กลับไปที่แผ่นงานที่สนใจและเขียนฟังก์ชันที่คุณเพิ่งสร้างขึ้นด้วย VBA รหัส (ฟังก์ชัน NumToLtr ในบรรทัดแรกของโค้ด) และในวงเล็บของ NumToLtr ฟังก์ชัน ส่ง หมายเลขอ้างอิงเซลล์ ที่คุณต้องการแปลงเป็นตัวอักษร (ในกรณีของเรา เราผ่าน เซลล์ B5 ในวงเล็บ)
ดังนั้นสูตรสุดท้ายของเราจึงอ้างถึง
=NumToLtr(B5)
- กด Enter .
คุณจะได้รับที่อยู่จดหมายที่เกี่ยวข้อง (A ) ของหมายเลขคอลัมน์ (1 ) ในชุดข้อมูลของคุณ
- ตอนนี้ลากแถวลงโดย เติมแฮนเดิล เพื่อใช้ UDF ไปยังเซลล์ที่เหลือเพื่อแปลงเป็นตัวอักษร
ด้วยคำชี้แจง GoTo
ขั้นตอนข้างต้นสามารถทำได้ด้วย GoTo คำชี้แจง
- VBA รหัสเพื่อแปลงหมายเลขคอลัมน์เป็นตัวอักษรด้วย 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
- ดังที่แสดงด้านบน เรียก UDF ในชุดข้อมูล ส่งหมายเลขอ้างอิงเซลล์ เป็นอาร์กิวเมนต์ กด Enter และ ลาก แถวที่จะ แปลงหมายเลขคอลัมน์เป็นตัวอักษร ใน Excel ด้วย GoTo คำชี้แจงใน VBA .
ด้วย Do-While Loop
ทำในขณะที่ วนเป็นอีกวิธีหนึ่งในการแปลงหมายเลขคอลัมน์เป็นตัวอักษรใน VBA เก่งมาก
- VBA รหัสเพื่อแปลงหมายเลขคอลัมน์เป็นตัวอักษรด้วย Do-While วนซ้ำคือ
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
- ในทำนองเดียวกัน เรียก UDF ในชุดข้อมูล ส่งหมายเลขอ้างอิงเซลล์ เป็นอาร์กิวเมนต์ กด Enter และ ลาก แถวที่จะ แปลงหมายเลขคอลัมน์เป็นตัวอักษร ใน Excel ด้วย Do-While วนซ้ำใน VBA .
อ่านเพิ่มเติม: Excel VBA:ตั้งค่าช่วงตามแถวและหมายเลขคอลัมน์ (3 ตัวอย่าง)
3. VBA เพื่อเปลี่ยนหมายเลขคอลัมน์เป็นตัวอักษรจากการป้อนข้อมูลของผู้ใช้ใน Excel
ขั้นตอนในการเปลี่ยน หมายเลขคอลัมน์เป็นตัวอักษรจากการป้อนข้อมูลของผู้ใช้ ใน Excel ด้วย VBA ด้านล่างนี้
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
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
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง มาโคร
- กล่องข้อความป๊อปอัปของ Microsoft Excel จะปรากฏขึ้นเพื่อขอหมายเลขคอลัมน์ เขียน หมายเลขคอลัมน์ ที่คุณต้องการแปลงเป็นตัวอักษรภายในกล่อง แล้วกด ตกลง .
คุณจะได้ผลลัพธ์ที่แปลงแล้วของหมายเลขคอลัมน์ (เช่น 200 ) ที่คุณป้อนไปยังที่อยู่จดหมายที่เกี่ยวข้อง (GR )
อ่านเพิ่มเติม: VBA เพื่อใช้ช่วงตามหมายเลขคอลัมน์ใน Excel (4 วิธี)
บทสรุป
บทความนี้แสดงวิธีการแปลงตัวเลขเป็นตัวอักษรใน Excel ด้วย VBA . ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับคุณมาก อย่าลังเลที่จะถามคำถามใด ๆ เกี่ยวกับหัวข้อนี้
บทความที่เกี่ยวข้อง
- วิธีการเปลี่ยนชื่อคอลัมน์จาก ABC เป็น 1 2 3 ใน Excel
- วิธีการแปลงตัวอักษรของคอลัมน์เป็นแผนภูมิตัวเลขใน Excel (4 วิธี)
- วิธีอ้างอิงเซลล์ตามแถวและหมายเลขคอลัมน์ใน Excel (4 วิธี)
- Excel VBA:เลือกหลายคอลัมน์ (3 วิธี)
- วิธีคืนค่าจำนวนคอลัมน์ที่ตรงกันใน Excel (5 วิธีที่เป็นประโยชน์)