EXCEL VBA字符串替换
来源:互联网 发布:你见过最恐怖的事 知乎 编辑:程序博客网 时间:2024/06/11 16:13
问题描述
因为模型结构中字段名更改,需要修正对应的EXCEL说明文档。
修正规则如下,将原来的连字符形式改成驼峰式。
打开VBA
这里是使用excel自带的VBA进行处理。
在excel里调出VBA的方法如下图所示。在某个表单上右击,并点击”查看代码“。
EXCEl2010的VBA窗口打开如下
解决思路
将原始字段按照符号”_”进行split,将切分后的words,除第一个word之外,其他的word首字母改为大写,然后再将所有的words连接起来。
主要方法
Range(): 代表某一单元格、某一行、某一列、某一选定区域(该区域可包含一个或若干连续单元格区域),或者某一三维区域,如Range(D:D)可以代表D这一整列,Range(D1:D2)表示D列的第一和第二行,其中的数字还可以用变量来替代,具体方法见下面的示例代码。
Split(str[,delimiter[,count[,compare]]])
: str是要拆分的字符串,delimiter是拆分依据的分隔符,count是分隔后的subStrings的最大个数,compare用来指定比较方式,有二进制比较方式和文本比较方式(未深究,不太懂)
Join(List[,delimiter]): 第一个参数List可以是一个Array,第二个参数delimiter是Array中每个字符串连接时的连接符,不填delimiter的话则默认为一个空格” “。
Left(Str, Len): 返回从左边开始,长度为Len的Str的子串。
Right(Str, Len): 返回从右边开始,长度为Len的Str的子串。
不过就我个人经验而言,不建议在代码中写Range(D:D)。我一开始用了Range(D:D),然后在调试时,于Range(D:D)的循环中调用了MsgBox,结果这个MsgBox始终无法结束。
如果想查询VBA中某个方法或是关键字的官方文档,可以google “MSDN VBA” + “方法名/关键字”
代码实现
//Sub: Declares the name, parameters, and code that define a Sub procedure//这里的Sub的含义是“子过程”Private Sub replace() Set Values = ActiveSheet.Range("D2:D102")//将EXCEL D列第2行到第102行的数据存储在Values中 Dim num As Integer//这个num用来记录处理到D列的哪一行 num = 2 For Each Value In Values//遍历Values,D列的某行对应Value Words = Split(Value, "_")//将Value按照"_"进行拆分 Dim result As String//用来存储Value处理后的结果(即用来记录sessionId) Dim count As Integer//用来标识是否是拆分后的第一个word result = "" count = 0 For Each word In Words If (count = 0) Then//如果是第一个word,仅做里连接,而不大写首字母 result = Join(Array(result, word), "") count = count + 1 Else//否则,首字母大写 //UCase(Left(word, 1))用来将首字母大写 //Right(word, Len(word) - 1))用来获取除首字母外的剩余字符 result = Join(Array(result, UCase(Left(word, 1)), Right(word, Len(word) - 1)), "") count = count + 1 End If Next ActiveSheet.Range("D" & num) = result//将num行的值,设置为处理后的结果result NextEnd Sub
- EXCEL VBA字符串替换
- VBA Excel值数据替换
- Excel中使用VBA替换字符
- 【excel VBA】excel 计算字符串相似度
- Excel字符串替换(replace)
- Excel Vba
- excel VBA
- Excel VBA
- EXCEL+VBA
- Excel VBA
- Excel VBA
- Excel VBA
- VBA Excel
- Excel VBA 文本和字符串处理关键字总结
- 【一步一步学习VBA】Excel VBA 获取指定单元格的数据并进行字符串匹配
- php excel A 列字符串替换成B列 字符串
- Mac OS X 下 Word VBA 宏 - 如何在 Word 替换字符串
- Excel中的VBA编程
- [PAT]1002. A+B for Polynomials(25)
- 关于Activity的4种launchMode
- HDU-5194-DZY Loves Balls(BestCoder Round # 35 )
- Android 开发环境安装
- 欢迎使用CSDN-markdown编辑器
- EXCEL VBA字符串替换
- appendChild() , insertBefore()插入节点需注意的问题
- Map.Entry接口源码简析
- 数据结构顺序表定义和实现
- python MRJob
- 类名.this
- Android的多语言实现
- SQL Server 2000 视图部分内容提要
- JetBrains WebStorm 注册码>