Excel vba开发 合并单元格拆分自动填充功能、在每一条数据后面插入空白行、将地理坐标的经纬度转换成度等功能
写在前面:
最近老大丢给我一个数据量比较大,比较复杂的表,让我用VB去处理,刚被分到这个任务的时候一脸茫然,对Excel VB开发一点都不了解,所以就自己研究并查资料,最后终于解决了。
一、Excel VBA拆分合并单元格并自动填充
Dim n As Long, i As Long, c As Range
n = ActiveSheet.UsedRange.Count
For i = 1 To n
If ActiveSheet.UsedRange.Item(i).MergeCells = True Then
ActiveSheet.UsedRange.Item(i).Select
Selection.UnMerge
With Selection
.Value = .Cells(1, 1)
End With
Selection.Cells(1, 1).Copy
Selection.PasteSpecial Paste:=xlPasteFormats
End If
Next
End Sub
二、Excel VBA在每一条数据插入一条空白行
LastRow = ActiveSheet.UsedRange.Rows.Count
LastRow = LastRow + ActiveSheet.UsedRange.Rows.Count
Dim i As Integer
For i = 1 To LastRow
ActiveSheet.Rows(i + 2).Insert shift:=xlDown
i = i + 1
Next
End Sub
LastRow = ActiveSheet.UsedRange.Rows.Cou
Dim i As Integer
For i = 3 To LastRow
Cells(i, 11) = Cells(i - 1, 15)
Cells(i, 13) = Cells(i - 1, 16)
Cells(i, 14) = Cells(i - 1, 17)
Cells(i, 18) = Cells(i - 1, 18)
Cells(i, 19) = Cells(i - 1, 19)
Cells(i, 20) = Cells(i - 1, 20)
i = i + 1
Next
End Sub
三、Excel VBA将地理坐标的经纬度转换成秒等功能
Dim D As Integer
Dim F As Integer
Dim M As Double
Dim LastRow As Integer
Dim vecSplit As Variant
LastRow = ActiveSheet.UsedRange.Rows.Count
Dim i As Integer
Dim value As String
For j = 12 To 13 'j是列
For i = 2 To LastRow 'i是行
value = Cells(i, j)
If (Cells(1, j) = "经度") Then
If (Cells(i, j) Like "*°*") Then
vecSplit = Split(Cells(i, j), "°", 2)
D = Val(vecSplit(0))
vecSplit = Split(vecSplit(1), "′", 2)
F = Val(vecSplit(0))
M = Val(vecSplit(1))
Cells(i, 18) = D + F / 60 + M / 3600
Else
D = Left(value, 3)
F = Mid(value, 4, 2)
M = Right(value, Len(value) - 5)
Cells(i, 18) = D + F / 60 + M / 3600
End If
ElseIf (Cells(1, j) = "纬度") Then
If (Cells(i, j) Like "*°*") Then
vecSplit = Split(Cells(i, j), "°", 2)
D = Val(vecSplit(0))
vecSplit = Split(vecSplit(1), "′", 2)
F = Val(vecSplit(0))
M = Val(vecSplit(1))
Cells(i, 19) = D + F / 60 + M / 3600
Else
D = Left(value, 2)
F = Mid(value, 3, 2)
M = Right(value, Len(value) - 4)
Cells(i, 19) = D + F / 60 + M / 3600
End If
End If
Next
End Sub
Excel vba开发 合并单元格拆分自动填充功能、在每一条数据后面插入空白行、将地理坐标的经纬度转换成度等功能相关推荐
- 13.Excel vba开发-合并单元格内容
1.需求:合并单元格内容 2.代码: Sub 无损合并单元格()Dim outputText As StringConst delim = ""On Error Resume Ne ...
- 将excel中的合并单元格拆分并填充数据
需求场景: 有时候处理EXCEL时,会遇到合并单元格的数据.如果直接用pandas空值补全,会导致空单元格会被相邻的数据填充.需要处理合并单元格的同时,不影响原有的空值单元格. 实现思路: 使用 op ...
- Excel快速取消合并单元格并自动填充
CTRL+A 全选 取消单元格合并 CTRL+G 定位空值 ,编辑栏输入 ''=A2(首个空值上一单元格,仔细观察可以看到首个空值单元格背景色为无色,其他空值单元格为灰色填充))" CTRL ...
- 快速取消合并单元格并自动填充(含空值)
合并单元格数据中包含空值,取消合并单元格并填充时,空值填充错误怎么办? 复制原数据到一个新的sheet 取消合并单元格 CTRL+G 定位空值 编辑栏输入"太阳"(任一数据表中不包 ...
- Pandas读取excel合并单元格的正确姿势(openpyxl合并单元格拆分并填充内容)
问题介绍(ffill填充存在的问题) 在pandas读取excel经常会遇到合并单元格的问题.例如: 此时使用pandas读取到的内容为: 如果去百度,几乎所有人会说应该用如下代码: df['班级'] ...
- Excel VBA:合并单元格并保留所合并单元格的全部数据
在Excel中,使用合并单元格功能时,最后的结果将只是所合并区域左上角单元格中的数据,如图1所示. 然而,很多时候我们都需要在合并的同时也能保留单元格的的数据.下面的程序在合并单元格后将保留合并单元格 ...
- Excel如何取消合并单元格并自动填充值
效果 初始内容: 效果如下: 步骤 1. 选中需要取消合并的单元格内容,右键=>设置单元格格式=>对齐=>取消合并单元格=>确定 2. 鼠标不要动,紧接着按Control(Ct ...
- 【excel】合并单元格拆分后每一格都填充为与原来相同内容
用的比较频繁的一个操作,单元格合并拆分出的单元格自动填充为合并前内容 比较烦合并单元格,记得以前看过一本excel书里把合并单元格列为一大恶习,因为这严重影响数据分析,但那本书没说怎么处理,导致我才学 ...
- 使用pandas如何在Excel里面取消合并单元格?多出来的单元格如何自动填充为第一个单元格的值?...
首先,如果你希望使用 pandas 在 Excel 中取消合并单元格,你可以使用 pandas 的 unmerge_cells() 方法. 例如,假设你有一个名为 df 的 DataFrame,你可以 ...
最新文章
- 安装H3C的各种问题
- 200kb以上图片储存
- 趣谈网络协议笔记-二(第十七讲)
- 为什么读博士的人越来越多?博士毕业难度不是越来越大吗?
- 计算机科学与编程基础,国外经典教材·计算机科学与技术:Oracle 10g编程基础
- WebGL(五)——WEBGL缓冲区,绘制三角形
- Morpheus - DNS Spoofing
- 拥抱开源, Office 365开发迎来新时代
- java 1%10_Java获取随机数的3种方法
- java盒图_java合成图片
- python 单链表查找元素_如何在python中一次找到链表的中间元素?
- java 实例化数组_java数组实例化
- 你想靠AI实现永生吗?
- 精密划片机——晶圆切割百科
- 科目三道路驾驶技能考试使用计算机系统,科目三道路驾驶技能考试方法是怎样的?...
- IMX6ULL与IMX6UL异同(主要是优化了其成本:安全功能减低,优化功耗EMC SIM模块删除等与但和I.MX6UltraLite芯片是PIN-2-PIN兼容的)
- Spring Boot源码简析 @EnableTransactionManagement
- 数据分析课堂笔记Day2(20221114)
- 大规模 Web 数据采集的终极开源方案 - PulsarRPA
- 腾讯内部兵法:做产品和运营必须深参这5大人性弱点
热门文章
- 测量学(四)测量点制图转CAD格式之注记转换
- draw.io在线画图站点
- 基于SSM的南昌旅游网站管理系统设计与实现 毕业设计源码101407
- 小学计算机flash,小学信息技术第五册 9.初识flash软件
- A morphable model for the synthesis of 3D faces 学习笔记(未完)
- 七言.毕业12周年祭
- Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
- 3. ackerman函数的递归实现算法用java语言_ackerman递归
- 自己动手制作植物大战僵尸简单修改器(2)
- 曲线分类-特征提取(二)