excel实战技巧:模拟占位输出
发布时间:2023-07-19 02:21:10
在C语言中,经典的函数printf用来格式化输出内容,在格式字符串中包含了要原样输出的字符和占位符,占位符一般由%和指定转换格式组成,例如:
printf(“i = %d, j = %d”, 1, 2)
输出:
i = 1, j = 2
在Python中,可以使用“{}”来占位,并在右侧指定相应的值,例如:
> “{0}, {1} 和 {2}”.format(“一”, “二”, “三”)
输出:
一, 二和三
在VBA中,我通常使用debug.print在VBE中输出结果,或者使用MsgBox函数来显示信息。其实,使用VBA自定义函数,也可以模拟类似C语言的占位输出。
假设自定义函数为ImitatePrint,我输入:
ImitatePrint(“我的%1是%2”, “微信 “, “Excel”)
则会输出:
我的微信是Excel
其中,%1和%2是占位符,分别代表要在此处输入的数据。当然,也可以将它们调换,例如:
ImitatePrint(“我的%2是%1”, “微信 “, “Excel”)
则会输出:
我的Excel是微信
自定义函数ImitatePrint的代码如下:
‘代码来源自《VBA高级开发指南》
Public Function ImitatePrint( _
ByVal strIn As String, _
ParamArray varItems() As Variant) _
As String
‘错误处理
On Error GoTo Handleerr
‘声明变量
Dim intPos As Integer
Dim strReplace As String
Dim intI As Integer
‘循环用户输入的数据
For intI = LBound(varItems) ToUBound(varItems)
‘依次循环占位符位置
strReplace = “%” & (intI+ 1)
intPos = InStr(1, strIn, strReplace)
‘如果找到,则使用相对应的值替换
If intPos > 0 Then
strIn = Left$(strIn, intPos – 1)& _
varItems(intI) & Mid$(strIn,intPos + _
Len(strReplace))
End If
Next intI
‘返回结果
ExitHere:
ImitatePrint = strIn
Exit Function
‘发生错误则给出提示
Handleerr:
Select Case Err.Number
Case Else
MsgBox “错误:” & Err.Description & _
” (” & Err.Number& “)”
End Select
Resume ExitHere
End Function
代码中,使用ParamArray指定用户可以输入多个数据。在使用该函数时,输入的替换数据应与占位符的数量一致。
使用下面的示例代码测试:
Sub test()
Debug.Print ImitatePrint(“我的%1是%2”, “微信 “, “Excel”)
End Sub
下图1是测试示例结果:
图1
下面是自定义函数ImitatePrint代码的图片版:


猜你喜欢
- 很多人好奇,经常能在任务管理器上看到vptray.exe进程,到底什么是vptray.exe进程,能不能关闭?今天小编来给大家谈谈在任务管理
- 说明LOGNORM.DIST 函数返回对数分布函数。返回值对数分布函数。语法=LOGNORM.DIST(x,mean,standard_de
- 最近有很多用户表示在使用win10系统过程中,经常会使用到其自带的搜索功能。不过,近来有些用户却发现电脑左下角的搜索框突然无法输入字符。那这
- 进入NEC笔记本电脑BIOS的方法为,开机后先按F2键,当提示选择时按"→"键就行了NEC笔记本电脑开机进入BIOS的方
- Win10商店报错“0x80072EE7”怎么办?很多用户在Win10系统下都会碰到应用商店打不开的问题,并且系统会提示错误代码:“0x80
- 遇到wps文字状态栏不见了该如何解决?1、状态栏中可以显示“总页数”“当前页数”“文档字数”“所选文字的字数”等信息,对于文档编辑非常有帮助
- 明天是4月11日,周二补丁日。据Softpedia报道,微软将在明天发布针对Creators Update(创意者更新、“Win10.3”)
- 许多小伙伴在制作短视频的时候基本都是使用剪映,而最近剪映Windows电脑专业版也随之上线。而有许多小伙伴发现自己在使用剪映制作视频的时候,
- 最近有win7系统用户向小编反映在电脑上安装软件的时候,出现了提示错误Error 1935。对于出现这个问题,导致软件无法进行安装,用户为此
- 自从微软推出了Win11操作系统之后,不少小伙伴都有下载体验,但有一些小伙伴反应更新完系统之后电脑的指纹登录使用不了或者失灵,那么碰到这种问
- 微软最近推送了KB3124200补丁,安装后Win10版本由10586.29升级至10586.36。不过根据这几天的用户反映,有很多用户表示
- 记得加关注哦!喵!Word——我们目前最流行的文字处理程序,平时的工作时常用到它编辑文档,发布公告通知,你只是会使用Word打打字,发发公告
- 很多朋友会在新闻稿和请帖中遇见第一个文字很大,这种情况叫做首字下沉效果,word2019首字下沉的效果常用语文案和章节的开头,在word中创
- 使用Shutdown.exe程序来快速实现定时关机,那么如何实现?下面小编就给大家详细的方法,一起来看看吧Win7系统如何使用Shutdow
- win10系统还原点怎么设置?在windows操作系统中,都有自带的一键还原功能,通过还原可以恢复计算机之前的状态,但是想要进行还原的话就必
- 3月24日消息今天早上,微软正式推送了Win10创意者更新15063慢速预览版,那么Win10 PC创意者更新15063慢速预览版还有什么已
- 为了提高数据的录入效率,我们在wps表格中处理数据的时候,一般都会在其中制作下拉菜单列表,那么wps怎样设置下拉选项呢?下面就让小编告诉大家
- Win10 20H2系统是微软最新推出的系统,已经有很多用户更新到这一版本了。但是在使用过程中发现Win10 20H2系统中预装了一些多余的
- win10电脑连不上iphone苹果手机热点怎么回事?通过手机热点,可以让用户的电脑连接然后进行上网,但是有的用户在通过苹果设置热点的时候发
- word 作为常用的办公软件,我们常常用它来处理一些资料,有的时候我们为了页面的完整性和查找的方便性等,需要对文档插入页码。那究竟在word