【记录】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 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...
随机推荐
- RabbitMQ(十)——消息优先级
RabbitMQ系列 RabbitMQ(一)--简介 RabbitMQ(二)--模式类型 RabbitMQ(三)--简单模式 RabbitMQ(四)--工作队列模式 RabbitMQ(五)--发布订阅 ...
- 「原创」Xiaomi-R3 免刷Openwrt实现路由器锐捷认证 (含网络守护脚本)
引言 没有路由器 宿舍人均用网络月末苦不堪言,搭建一台路由器燃眉之急!! 设备选择 初代小米路由器产品均为OpenWrt深度定制后的产物,免去设备刷入固件时机器变砖的风险,本片记录的使用型号为 MIR ...
- Hive - 多种表类型的CURD测试
关于torc.textfile.orc.es.hyperdrive表的CURD测试 TORC(支持事务的orc表)测试 TORC(分区表)测试 TEXTFILE 表测试 ORC 表测试 ES(Elas ...
- 常见的各类LLM基座模型(GPT、DeepSeek、Qwen等)模型解析以及对比
From: https://www.big-yellow-j.top/posts/2025/02/15/LLM.html 各类LLM模型技术汇总 只去对比整体框架,对所采用的激活函数,归一化处理,位置 ...
- 一个生成随机颜色的js函数
function getRandomColor(){ let rgb = []; for(let i=0;i<3;++i){ let color = Math.floor(Math.random ...
- 【C#语法糖 Lambda】2 - 表达式树与LINQ
一.声明 曾经遇到一个这样的场景: GetEntities(a => a.OrderKindCodeId == 16 && a.IsDeleted, this.DefaultCo ...
- 【Abaqus】Composite Layup建模
abaqus 的3个复合材料建模途径: 传统的material->section->orientation->step->job的建模方式 Composite Layup建模方 ...
- AWVS安装使用
AWVS安装使用 1.双击exe文件,然后点击下一步. 2.选择我接受,然后下一步. 3.选择路径(我选择的默认路径)然后下一步. 4.还是下一步. 5.设置邮箱,用户名密码,用户名12345678@ ...
- 【BUG】鸿蒙模拟器虚拟化问题的解决方案
创建记事本文档.txt,键入以下代码: pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum > ...
- 基于pandas的数据清洗 -- 重复值的清洗
博客地址:https://www.cnblogs.com/zylyehuo/ 开发环境 anaconda 集成环境:集成好了数据分析和机器学习中所需要的全部环境 安装目录不可以有中文和特殊符号 jup ...