学习Excel技术,关注微信公众号:
excelperfect
使用下面的程序,可以将字符串使用指定字符填充到指定的长度,从而实现字符串的左对齐或者右对齐。程序代码如下:
'在文本左侧填充指定的字符
'使字符串达到指定的长度
'参数strText: 要执行填充操作的字符串
'参数iWidth: 字符串要达到的长度
'参数strFill: 可选,指定填充字符,默认为空格
'如果参数strText的文本字符串长度其本身就
'大于iWidth,那么直接返回strText
'如果参数strFill指定了多个字符,
'则使用第1个字符填充
Function FillInLeft(strText As String, _
iWidth As Integer, _
Optional strFill As String = " ") As String
If Len(strText) > iWidth Then
FillInLeft = strText
Else
FillInLeft = Right$(String(iWidth, strFill) & _
strText, iWidth)
End If
End Function
'在文本右侧填充指定的字符
'使字符串达到指定的长度
'参数strText: 要执行填充操作的字符串
'参数iWidth: 字符串要达到的长度
'参数strFill: 可选,指定填充字符,默认为空格
'如果参数strText的文本字符串长度其本身就
'大于iWidth,那么直接返回strText
'如果参数strFill指定了多个字符,
'则使用第1个字符填充
Function FillInRight(strText As String, _
iWidth As Integer, _
Optional strFill As String = " ") As String
If Len(strText) > iWidth Then
FillInRight = strText
Else
FillInRight = Left$(strText & _
String(iWidth, strFill), iWidth)
End If
End Function
上述代码的关键在于下面两句代码:
FillInLeft = Right$(String(iWidth,strFill) & _
strText, iWidth)
和
FillInRight = Left$(strText & _
String(iWidth, strFill), iWidth)
将原字符串与指定个数的填充字符形成的字符串连接成一个字符串,然后右截取或左截取指定长度的字符串,从而实现填充对齐效果。
测试FillInLeft函数:
Sub test()
Debug.Print FillInLeft("Excel", 15)
Debug.Print FillInLeft("excelperfect", 15)
Debug.Print "---------------"
Debug.Print FillInLeft("12", 8, "*")
Debug.Print FillInLeft("1234", 8, "*")
End Sub
运行后的效果如下图1所示。
图1
测试FillInRight函数:
Sub test()
Debug.Print FillInRight("excelperfect", 15, "$")
Debug.Print FillInRight("Excel", 15, "$")
Debug.Print "---------------"
Debug.Print FillInRight("12", 8, "*")
Debug.Print FillInRight("1234", 8, "*")
End Sub
运行后的效果如下图2所示。
图2
程序代码的图片版如下: