VBA小技巧
运用VBA时,可以构造一些函数去实现诸如printf的方便函数。
Public Function printf(mask As String, ParamArray tokens()) As String
Dim i As Long
For i = 0 To UBound(tokens)
mask = Replace(mask, "{" & i & "}", tokens(i))
Next
printf = mask
End Function Sub test() cc = genSearchedArr(6554, Array("a", "b", "e", "f", "g")) MsgBox cc
End Sub Function genSearchedLines(searchedRow As Integer, columns()) As String
Dim searchedVal As String Dim i As Long For i = 0 To UBound(columns) If i = 0 Then
searchedVal = printf("{0}{1}", columns(i), searchedRow)
Else
searchedVal = searchedVal & printf("&{0}{1}", columns(i), searchedRow)
End If
Next genSearchedLines = searchedVal End Function Function genSearchedArr(searchedRow As Integer, columns()) As String
Dim searchedArr As String Dim i As Long For i = 0 To UBound(columns) If i = 0 Then
searchedArr = printf("{0}1:{0}{1}", columns(i), (searchedRow - 1))
Else
searchedArr = searchedArr & printf("&{0}1:{0}{1}", columns(i), (searchedRow - 1))
End If
Next genSearchedArr = searchedArr End Function
特别地,将以上辅助函数用于Match,会非常方便:
Sub test() Dim warehouseWorkbook As Workbook
Set warehouseWorkbook = Workbooks("测试表.xls")
Set w1 = warehouseWorkbook.Sheets("terry") Dim paraArr()
paraArr = Array("b", "e", "f", "g", "h", "i") eva_exp = printf("Match({0}, {1}, 0)", _
genSearchedLines(12, paraArr), _
genSearchedArr(12, paraArr)) MsgBox w1.Evaluate(eva_exp)
End Sub
Sub test() Dim warehouseWorkbook As Workbook
Set warehouseWorkbook = Workbooks("测试表.xls")
Set w1 = warehouseWorkbook.Sheets("terry") eva_exp = printf("Match({0}, {1}, 0)", _
genSearchedLines(12, "a", "b", "c"), _
genSearchedArr(12, "a", "b", "c")) MsgBox w1.Evaluate(eva_exp)
End Sub
VBA小技巧的更多相关文章
- 常用VBA小技巧
用对话框选取文件路径(单个文件) 删除导入csv等文本文件后留下的 Data connections 增加新的工作表并并命名 Worksheets.Add(After:=Worksheets(Work ...
- LoadRunner小技巧集锦
preftest 性能测试工作室,专注于性能测试技术研究(www.AutomationQA.com) LoadRunner小技巧集锦 1.录制脚本中包含中文,出现乱码怎么办? 把录制选项中的Suppo ...
- 前端网络、JavaScript优化以及开发小技巧
一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...
- Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
- 分享两个BPM配置小技巧
1.小技巧 流程图修改后发布的话版本号会+1,修改次数多了之后可能会导致版本号很高,这个时候可以将流程导出,然后删除对应的流程包再导入,发布数据模型和流程图之后,版本清零 2.小技巧 有的同事入职后使 ...
- linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!
这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...
- JS处理事件小技巧
今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...
- iOS:小技巧(不断更新)
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...
- css小技巧(1)
1.-webkit-overflow-scrolling: touch; 解决ios滑动时无缓冲问题 2.::-webkit-scrollbar 设置ios滑动时是否显示滚动条 3.::selecti ...
随机推荐
- spring boot +mysql + mybatis + druid的整理(一)——单数据源
一,使用spring boot脚手架搭建spring boot框架生成maven项目 如下图所示: 设置自定义的坐标,即左侧的Group和Artifact,右侧可以搜索添加一些依赖,搜索不到的可以在p ...
- CTF---密码学入门第二题 我喜欢培根
我喜欢培根分值:20 来源: Ph0enix 难度:中 参与人数:3449人 Get Flag:1410人 答题人数:1653人 解题通过率:85% key: CTF{} 解题链接: http://c ...
- BZOJ 1293: [SCOI2009]生日礼物【单调队列】
1293: [SCOI2009]生日礼物 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2534 Solved: 1383[Submit][Stat ...
- Vijos P1785 同学排序【模拟】
同学排序 描述 现有m位同学,第1位同学为1号,第2位同学为2号,依次第m位同学为m号.要求双号的学生站出来,然后余下的重新组合,组合完后,再次让双号的学生站出来,重复n次,问这时有多少同学出来站着? ...
- BC#65 T5 ZYB's Prime
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5594 完全不会啊TAT.. 其实官方题解已经说的很清楚了.. #include <cstdio> ...
- 在R12下加载Java Bean,配置FORMS_WEB_CONFIG_FILE文件/通过AutoConfig实现Form Server配置文件的修改
1.定位模版文件$AD_TOP/bin/adtmplreport.sh contextfile=$CONTEXT_FILE target=$FORMS_WEB_CONFIG_FILE以上命令,通过查看 ...
- $(function(){...});的作用
这是JQuery的语法,$表示JQuery对象,可以有好几种用法.比如传递选择器字符串.页面对象等,如果直接传函数体进去,表示网页加载完毕后要执行的意思.和JAVASCRIPT原来的这个是一样的: w ...
- js函数声明的三种方式
1.直接声明 function box(num1,num2){ return num1+num2;}alert(box(1,2)); 2.使用变量初始化 var box2 = function(num ...
- 把自己的js模块兼容到AMD CMD CommonJS
为了让同一个模块可以运行在前后端,在写作过程中需要考虑兼容前端也实现了模块规范的环境.为了保持前后端的一致性,类库开发者需要将类库代码包装在一个闭包内.以下代码演示如何将hello()方法定义到不同的 ...
- 用于 C♯ 图像识别的轮廓分析技术
用于 C♯ 图像识别的轮廓分析技术 供稿:Conmajia 标题:Contour Analysis for Image Recognition in C# 作者:Pavel Torgashov 此中文 ...