本文作者:office教程网

excel实战技巧:模拟占位输出

office教程网 2024-04-23 03:30:42
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要: 在C语言中,经典的函数printf用来格式化输出内容,在格式字符串中包含了要原样输出的字符和占位符,占位符一般由%和指定转换格式组成,例如:
printf(“i = %d, j = %d...

在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)

‘依次循环占位符位置

VBA拆分算术表达式

将算术表达式拆分成组成该表达式的数学元素,例如将表达式2 (19-4)/3拆分成 如何使用VBA代码实现呢? 关键点:如何将表达式中超过1位的数字提取出来,例如上面示例中的数字19。 解决方法:使用一个临时变量判断是否是数字,同时利用这个变量来计算该数字的位数,然后使用该变量作为遍历条件来获取该数字。 VB

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代码的图片版:

excel图表怎么发挥IF函数的威力

IF函数应该是最常用的Excel函数之一了,在公式中经常能够看到她的“身影”。IF函数的基本使用如图1所示。 图1 IF函数之美 IF函数是一个逻辑函数,通过判断提供相应操作,让Excel更具智能。 然而,在数组公式中使用IF函数,能够执行一些较复杂的操作,充分发挥IF函数的威力。 运用IF函数进行连续测

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:excel实战技巧:模拟占位输出发布于2024-04-23 03:30:42
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: