专栏首页完美ExcelVBA实用小程序57: 左对齐或右对齐字符串

VBA实用小程序57: 左对齐或右对齐字符串

学习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

程序代码的图片版如下:

本文分享自微信公众号 - 完美Excel(excelperfect),作者:fanjy

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Excel公式技巧46: 按出现的频率依次提取列表中的数据并排序

    导语:在《Excel公式技巧44:对文本进行排序》中,我们使用COUNTIF函数并结合SMALL/MATCH/INDEX函数对一系列文本进行排序,无论这些文本中...

    fanjy
  • Excel公式练习63: 求数值中的各个数字之和

    导语:本文的案例在前面的文章中有过介绍,这里给出两个解决方案,进一步巩固所学的知识。

    fanjy
  • Python学习笔记:Python字符串操作

    find方法从左至右搜索字符串,返回指定子字符串第一次出现的索引值。注意,索引值从0开始。其语法为:

    fanjy
  • Duang~ Android堆栈慘遭毁容?精神哥揭露毁容真相!

    最近精神哥接到多个小伙伴的投诉,说无法看懂Bugly崩溃克星页面上显示的堆栈信息!精神哥赶紧把正研究的Top Crash崩溃和心爱的鸡爪放下,开始着手跟进。经分...

    腾讯Bugly
  • 30行代码消费腾讯人工智能开放平台提供的自然语言处理API

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • 业界 | 外媒称英伟达下月将发布新型GPU「Turing」,挖矿虚拟货币

    机器之心
  • 在Junit调试中,出现警告: Method 'public void classname' could not be resolved.并报initializationError错误

    时间静止不是简史
  • 云狐时代总裁岳红梅:云狐智能终端在特种通信行业里的应用

    <数据猿导读> 云狐时代总裁岳红梅在2016年中国信息通信大数据大会上发表了以“云狐智能终端在特种通信行业里的应用”为主题的演讲。岳红梅表示,在未来的五到十年里...

    数据猿
  • 快速学习-HBase实战解密

    Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效...

    cwl_java
  • 设计模式所遵循的基本原则

    (1)定义 单一职责是编写程序的一个准则,是一个不可逾越的红线。单一职责原则要求设计一个类的时候要么只体现一个功能,要么有多个功能时彼此独立,要么多个功能彼此...

    魏晓蕾

扫码关注云+社区

领取腾讯云代金券