หากคุณต้องการแปลงข้อความตัวห้อย / ตัวยกเป็นมาร์กอัป HTML ที่สอดคล้องกันให้สร้างฟังก์ชัน VBA (กดALT+ F11เพื่อไปที่ตัวแก้ไข) ด้วยรหัสนี้:
Function SubToHtml(rng As Range)
Dim c, ns As String
For i = 1 To Len(rng.Value) Step 1
c = rng.Characters(i, 1).Text
If rng.Characters(i, 1).Font.Subscript Then
ns = ns & "<sub>" & c & "</sub>"
ElseIf rng.Characters(i, 1).Font.Superscript Then
ns = ns & "<sup>" & c & "</sup>"
Else
ns = ns & c
End If
Next i
'to take care of adjacent sub/superscript characters
ns = Replace(ns, "</sub><sub>", "")
ns = Replace(ns, "</sup><sup>", "")
SubToHtml = ns
End Function
การใช้
สมมติว่าA1มีสตริง C 2 O 3 ป้อนสูตรนี้ในเซลล์ว่าง:
=subtohtml(A1)
ควรแสดงผลลัพธ์นี้ในเซลล์:
C<sub>2</sub>O<sup>3</sup>
เปลี่ยนชื่อฟังก์ชั่นหากคุณต้องการ ฉันไม่สามารถนึกถึงนักเล่นที่เก่งขึ้นได้ : D AFAIK ไม่มีวิธีแก้ปัญหาที่ไม่เกี่ยวข้องกับ VBA; เนื่องจากคุณจะต้องผ่านตัวละครแต่ละตัวในเซลล์และตรวจสอบกรณีหรือรูปแบบตัวอักษร
แก้ไข :
ฉันคิดว่าข้อความของคุณจะไม่มีตัวอักษรย่อย / ตัวยกอยู่ติดกัน เพียงในกรณีที่พวกเขาทำผมแทรกรหัสบางอย่างที่จะดูแลของสตริงที่มีที่อยู่ติดกันย่อย / ตัวอักษรตัวยกเช่น CO 20