【记录】Excel 2021|(一)VBA操作Excel入门,在姓和名之间打空格,如“ZhangSanSan“改成“Zhang SanSan“
版本:Excel 2021。
打开VBA界面:快捷键Alt+F11。(或视图-宏)。
录制宏,再看看宏的代码,就可以基本了解常规的Excel操作在VBA里是什么德行。
比方说,我需要对一个选区进行修改,就先
录制宏,然后对选区随便改改,再停止录制,就知道选区对应的关键字是Selection了。
知道了常规的Excel操作之后,重要的就是写逻辑。
我写了一个简单的VBA逻辑:
Sub AddSpace()
' 将选中的单元格的第二个大写字符的前面加一个空格
' 例如"ZhangSanSan"改成"Zhang SanSan"
i = 1
For Each test In Selection '遍历选中的
ops = 2
If (Len(test) > 2) Then '只修改长度大于2的字符串
For ii = 2 To Len(test) '遍历单元格的字符串(从第二个开始)
a = Mid(test, ii, 1) '字符串取值
If (a >= "A" And a <= "Z") Then '判断是否是大写
ops = ii '确定位置
Exit For '跳出for循环
End If
Next ii
If Mid(test, ops - 1, 1) <> " " Then '如果已经有空格,则不加
test2 = Mid(test, 1, ops - 1) & " " & Mid(test, ops)
Selection(i) = test2
End If
End If
i = i + 1
If (i >= 10000) Then '不处理10000以上的数据量
Exit For
End If
Next
End Sub
能看明白上面那个程序,就能够清晰地认识到以下几个编程常用的问题:
- 选区遍历;
- 单元格字符串的字符串遍历、修改、拼接;
- 条件判断;
- 退出循环(VBA没有continue);
效果:

附加个Python版。
我以为用python写20分钟已经很久了,没想到VBA这程序花了我一个小时。虽然说实话它在这个程序中的运行速度,比python强远了,因为python我做了“打开excel、逐行填写、保存excel”等冗余的操作。
python版:
# author: shandianchengzi
# description: 用大写字符分割字符串
# status: complete
from win32com import client
fp='E:/workspace/py/工作1.xlsx'
def myFunc():
ws = wb.Worksheets[0]
for i in range(1,1614):
oldStr=list(ws.Cells(i, 1).Value)
ops=0
for j in range(1,len(oldStr)):
if (oldStr[j].isupper()):
ops=j
break
oldStr.insert(ops, ' ')
ws.Cells(i, 2).Value = ''.join(oldStr)
excel = client.DispatchEx('Excel.Application')
excel.Visible = True #是否可视化
wb = excel.Workbooks.Open(fp)
myFunc()
wb.Save()
wb.Close(True)
excel.Quit()
【记录】Excel 2021|(一)VBA操作Excel入门,在姓和名之间打空格,如“ZhangSanSan“改成“Zhang SanSan“的更多相关文章
- 记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)
前面补充了如何来操作excel文件,这次把如何获取excel文件的sheet对象.行数.单元格数据的方法进行封装,方便后面调用 handle_excel.py# coding:utf-8 import ...
- VBA 操作 Excel 生成日期及星期
直接上代码~~ 1. 在一个 Excel 生成当月或当年指定月份的日期及星期 ' 获取星期的显示 Function disp(i As Integer) Select Case i disp = & ...
- Excel VBA 操作 Word(入门篇)
原文地址 本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人. 一.新建Word引用 需要首先创建一个对 Word A ...
- 使用Win32::OLE操作Excel——Excel对象模型
像VBA操作Excel一样,Win32::OLE模块也是通过对象操作来控制Excel. 如果想自动化操作和控制Excel应用程序,则必须要与Excel对象模型所提供的对象进行交互.理解和熟悉Excel ...
- Excel中使用VBA访问Access数据库
VBA访问Access数据库 1. 通用自动化语言VBA VBA(Visual Basic For Application)是一种通用自动化语言,它可以使Excel中的常用操作自动化,还可以创建自定义 ...
- [Asp.net] C# 操作Excel的几种方式 优缺点比较
在项目中我们常常需要将数据库中的数据导出成Excel文件 有一次工作中我的目的就是读取Excel到内存中,整理成指定格式 整理后再导出到Excel. 因为我要处理的每个Excel表格文件很大.一个表格 ...
- VBA在Excel中的应用(三)
目录 Chart Export Chart Format Chart Lengend Chart Protect Chart Title Chart Chart Export 1. 将Exce ...
- 【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化
继上一篇[Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 对豆瓣图书Top250进行爬取以后,鉴于还有一些问题没有解决,所以进行了进一步的交流讨论,这期间得到了一只尼玛 ...
- python 操作Excel文件
1 安装xlrd.xlwt.xlutils cmd下输入: pip install xlrd #读取excel pip install xlwt #写入excel pi ...
- Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)
数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...
随机推荐
- Windows系统安装Ollama超简教程(附DeepSeek R1实战)
一.Ollama下载指引 官网地址:https://ollama.com/download 选择Windows版本直接下载(推荐64位系统),安装包745MB左右,支持Win10/11系统.点击&qu ...
- AD 测试点覆盖率的统计
在用Altium Designer软件设计PCB时,有时会有统计这个工程的测试点覆盖率需求.在AD 中有2种类型的测试点:Fabrication testppoint(用于PCB的下线电气测试)和As ...
- Springboot集成easypoi实现excel多sheet导出
1.环境配置 <!--easypoi依赖,excel导入导出--> <dependency> <groupId>cn.afterturn</groupId&g ...
- autMan奥特曼机器人-自建autMan插件市场
一.自建市场配置 配置参数 二.上架设置 设置哪些插件上架,哪些不上架 三.检测是否成功 怎样检查是否成功了?订阅一下自己,然后看应用市场上是否显示 四.用户怎样购买插件 用户想买自建市场作者的插件, ...
- 【BUUCTF】Easy MD5
[BUUCTF]Easy MD5 (SQL注入.PHP代码审计) 题目来源 收录于:BUUCTF BJDCTF2020 题目描述 抓包得到提示 select * from 'admin' where ...
- 中国联通校园招聘:软件研究院Offer面经
本文介绍2024届春招中,中国联通软件研究院广州分院的软件研发岗位的3场面试基本情况.提问问题等. 2024年03月投递了中国联合网络通信有限公司下属软件研究院的软件研发岗位,所在部门为广州分 ...
- Feedalyze - 让你听得见、听得清用户的反馈
满足用户需求,解决用户问题,获得适当报酬是商业成功最为重要的因素.然而扪心自问,当您推出新产品后,您真的在听.听得见.听得清用户的反馈么? 当今信息传播迅猛,渠道繁多,优秀产品随口碑效应供不应求,劣质 ...
- C#短链接生成方法
public class Program { static void Main() { Random rd = new Random(); for (int i = 0; i < 10; i++ ...
- C#枚举帮助EnumHelper
1 public class EnumHelper 2 { 3 #region 获取枚举 4 public static List<EnumValue> GetEnumList(Type ...
- CentOs7 lnmp 安装记录
CentOs7 lnmp 安装记录 安装php 选择安装目录 # eg:/usr/src cd /usr/src 安装必要的源 yum -y install pcre pcre-devel zlib ...