K. *_* L. 3 vba lowercase uppercase
我被这个 VBA 代码困住了。任何帮助将不胜感激。我正在尝试将 2 个单词的第一个字母从小写更改为大写。另外,我应该如何在代码中考虑这两个词之间的空格?
我一直无法执行代码,因为我不断收到此编译错误:“参数不是可选的”。
Function Properword(Text)
Dim rText
rText = Len(rText)
If rText(Mid(1, 1)) = LCase(Str) Then
rText = UCase(Str)
If rText(Mid(6, 1)) = LCase(Str) Then
rText = UCase
End If
Run Code Online (Sandbox Code Playgroud)
结束函数
干杯!
首先,您不必使用UDF。只需使用内置WorksheetFunction.Proper函数即可实现ProperCase。
如果你仍然想创建 UDF,一个例子是
Function Properword(strTxt)
Dim arrTxt
arrTxt = Split(strTxt, " ")
For i = LBound(arrTxt) To UBound(arrTxt)
arrTxt(i) = UCase(Left(arrTxt(i), 1)) & Mid(arrTxt(i), 2)
Next
Properword = Join(arrTxt, " ")
End Function
Run Code Online (Sandbox Code Playgroud)
最后,您的代码问题
rText = Len(rText)~~ 这意味着 rText 将包含一个数值,因为Len返回字符串的长度
If rText(Mid(1, 1)) = LCase(Str) Then~~Mid将字符串作为第一个参数,然后是起点,然后是终点(可选)。
不确定您在以下几行中尝试执行的操作。
rText = UCase(Str)
If rText(Mid(6, 1)) = LCase(Str) Then
rText = UCase
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3140 次 |
| 最近记录: |