VBA技术需求:将动态单元格内容最后三个字符设为下标
修改VBA代码:将单元格最后三个字符设为下标
直接看修改后的代码,核心逻辑已调整,同时加了容错判断避免短文本报错:
text = Row.Cells(1, 9).Value ' Text = Row.Cells(1, 1) FileName = Row.Cells(1, 7) Set FileToOpen = Workbooks.Open(ClientPath & OldFileName, UpdateLinks:=0) Range("B4").ClearContents Range("B4") = text ' 关键修改部分 If Len(text) >= 3 Then ' 计算最后三个字符的起始位置:总长度减2 Dim startPos As Integer startPos = Len(text) - 2 ' 设置下标,而非原代码的上标 Range("B4").Characters(startPos, 3).Font.Subscript = True End If
关键修改说明:
- 删掉原代码里冗余的For循环,直接定位最后三个字符的起始位置,效率更高
- 将
Superscript = True替换为Subscript = True,实现下标效果 - 增加
Len(text) >= 3的判断,防止单元格内容不足3个字符时触发错误 - 字符范围从
(i, 2)改为(startPos, 3),确保精准选中最后三个字符
内容的提问来源于stack exchange,提问作者Austin Eveland
相关产品推荐
相关产品推荐

