EP02. “Reverse Strings 反转字符串”
🔒 登录后可标记已读- 写一个宏,把使用者输入的文字整个反过来(例如 "Car" 变成 "raC")
- 核心思路是用
Mid从字符串末尾往前逐字取出,再依序拼接 - 前置知识:Len、Mid 函数的基本用法和 For 循环
- 学完能自己写「逐字反向拼接」这类字符串重组逻辑
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
完整代码
Dim text As String, reversedText As String, length As Integer, i As Integer
text = InputBox("Enter the text you want to reverse")
length = Len(text)
For i = 0 To length - 1
reversedText = reversedText & Mid(text, (length - i), 1)
Next i
MsgBox reversedText
逻辑说明
InputBox让使用者输入要反转的文字,Len算出这段文字的长度- 循环从 0 跑到「长度 - 1」,每一轮用
Mid(text, (length - i), 1)从字符串末尾往前一次取一个字符 - 把每次取到的字符依序接在
reversedText后面,就组成了反转后的字符串
逐步示例
以 "Car"(长度 3)为例:
- i=0:取第 3 个字符 "r" → reversedText = "r"
- i=1:取第 2 个字符 "a" → reversedText = "ra"
- i=2:取第 1 个字符 "C" → reversedText = "raC"
学完你会
- ✅ 用
Len算出字符串长度,配合循环倒序取字符 - ✅ 用
Mid(text, 位置, 1)一次取一个字符 - ✅ 理解「累加拼接字符串」这种循环写法(
结果 = 结果 & 新字符)
常见错误
Mid里的位置公式写成length + i而不是length - i,方向算反- 循环范围写错(比如
1 To length而不是0 To length - 1),导致漏字或多取一个字符 reversedText变量没有在循环外先归零/清空,重复执行时会接到上一次的结果后面
Sources
Blog / Website: