Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ExcelVBA批量合并或取消单元格

ExcelVBA批量合并或取消单元格

作者头像
哆哆Excel
发布于 2022-10-25 04:59:59
发布于 2022-10-25 04:59:59
2.2K0
举报
文章被收录于专栏:哆哆Excel哆哆Excel

【问题】烦人的合并单元格,我们在进行vlookup、sum等计算中最怕就是遇到神人交过来的表格,

【解决】如果用手工进行取消合并单元格,时间多,

还是用VBA来解决吧!

一、合并单元格

=====代码==========

Sub 输入列进行合并单元格()

Dim rng_in As Range

Dim col_in, i%

Setrng_in = Application.InputBox("请框选拆分依据列!只能选择单列单元格区域!", Title:="提示", Type:=8)

col_in = rng_in.Column

MsgBox "你将对第 " & col_in &" 列进行合并单元格"

Application.DisplayAlerts = False

For i = Cells(Rows.Count, col_in).End(xlUp).Row To 2 Step -1

If Cells(i, col_in).Value = Cells(i - 1, col_in).Value Then

Cells(i - 1, col_in).Resize(2, 1).Merge

With Cells(i - 1, col_in)

.VerticalAlignment = xlCenter

.HorizontalAlignment = xlCenter

End With

End If

Next

Application.DisplayAlerts = True

End Sub

===效果图=====

二、取消合并单元格并填充

1. 选定列取消合并单元格并填充

=====代码==========

Sub 选定列取消合并单元格并填充()

Dim rng_in As Range

Dim col_in, i%

Set rng_in = Application.InputBox("请框选拆分依据列!只能选择单列单元格区域!", Title:="提示", Type:=8)

col_in = rng_in.Column

MsgBox "你将对第 " & col_in &" 列进行取消合并单元格"

With Columns(col_in)

.UnMerge

.SpecialCells(4) = "=R[-1]C"

.Value = .Value

End With

End Sub

===效果图=====

2.选定的区域取消合并单元格并填充

=====代码==========

Sub 选定的区域取消合并单元格并填充()

Dim rng_in As Range

Dim col_in, i%

Dim Rng As Range, V As Range

Set rng_in = Application.InputBox("请框选拆分依据列!只能选择单列单元格区域!", Title:="提示", Type:=8)

For Each Rng In rng_in

If Rng.MergeCells Then

Set V = Rng.MergeArea

Rng.MergeCells = False

V.Value = Rng.Value

V.HorizontalAlignment = xlCenter

End If

Next

End Sub

===效果图=====

=========学习中===========

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ExcelVBA请按班别拆分为工作簿(筛选复制法)
请按班别拆分为工作簿 Sub 筛选拆分() Dim d As Object, sht As Worksheet, arr,brr, r, kr, i&, j&, k&, x& Dim Rng As Range, Rg As Range, tRow&,tCol&, aCol&, pd&, Cll As Range Dim wb As Object, mysht As Worksheet Set d =CreateObject("scripting.dictionary") '
哆哆Excel
2022/10/31
4630
ExcelVBA筛选法按分类条件拆分一个工作表为多个工作簿
对上次的文章进行优化 ==========代码如下===== Sub 筛选拆分() Dim d As Object, sht As Worksheet, arr, brr, r, kr, i&, j&, k&, x& Dim Rng As Range, Rg As Range, tRow&, tCol& Dim wb As Object, mysht As Worksheet Set d = CreateObject("scripting.dictionary") 'se
哆哆Excel
2022/10/31
3.7K1
ExcelVBA学习之一键实现分类筛选并直接打印
【问题】:有一个表格有几各种分类”应聘学科”、”安排单位”、”片区”、“类别”,安要求是要以4种分类进行分别进行“分类”并“打印”出来,
哆哆Excel
2022/10/25
1.8K0
ExcelVBA学习之一键实现分类筛选并直接打印
Excel小技巧91:合并单元格且不丢失数据
有时候,我们需要合并多个单元格,然而,当选择要合并的单元格,并使用“合并单元格”命令后,Excel会给出如下图1所示的提示,只保留左上角单元格中的数据。
fanjy
2021/08/31
5.6K0
Excel小技巧91:合并单元格且不丢失数据
ExcelVBA学习之取得Application.inputbox选择区域的起始行列号和终止行列号
expression. InputBox (_Prompt_, _Title_, _Default_, _Left_, _Top_, _HelpFile_, _HelpContextID_, _Type_)
哆哆Excel
2022/10/25
1.8K0
ExcelVBA 批量生成工作表并随机生成成绩表
'有时候我的制作教程的过程中需要一些随机的数据,如成绩表,有时也需要很多表,不想一个一个建立工作表,所以为了方便
哆哆Excel
2022/10/25
8440
ExcelVBA 批量生成工作表并随机生成成绩表
Excel VBA在一个工作簿内把总表拆分多个工作表
Dim title_rng As Range, wb As Object, dic1 As Object
哆哆Excel
2022/10/25
2.6K0
常用功能加载宏——快速定位合并单元格
在Excel表格里,合并单元格会给使用过程带来很多麻烦,但是有时候为了排版好看,又需要用到合并的功能。
xyj
2020/07/28
1.8K0
常用功能加载宏——快速定位合并单元格
VBA程序:查找并列出指定工作表中所有合并单元格的地址
运行下面的VBA过程,将列出当前工作表中所有合并单元格的地址。程序会新建一个工作表并重命名,然后在其中输入所有合并单元格的地址。
fanjy
2024/03/11
3080
VBA程序:查找并列出指定工作表中所有合并单元格的地址
Excel VBA 自动填充空白并合并相同值的解决方案
在Excel中经常会遇到这样的数据处理需求:一列数据中存在多个空白单元格,需要用其上方最近的非空值填充,然后将相同的连续值合并成一个单元格。比如:
洛秋_
2024/12/31
2580
EXCEL快速合并相同值
Option Explicit Private srow As Integer Sub T() Application.ScreenUpdating = False Application.DisplayAlerts = False Dim i As Integer, lcol As Integer srow = Application.InputBox("输入处理起始行号") lcol = Range("IV" & srow).End(xlToLe
用户1272546
2018/06/04
9180
C# 实现完善 Excel 不规则合并单元格数据导入
在我的文章 《C#实现Excel合并单元格数据导入数据集》里讲述了可以将具有合并单元格的Excel文件数据导入到DataSet里,在实际使用情况中遇到如下情况,如下图:
初九之潜龙勿用
2025/02/20
1460
C# 实现完善 Excel 不规则合并单元格数据导入
C#实现Excel合并单元格数据导入数据集
将Excel里的worksheet表格导入到DataSet里,是项目应用里常用的一种操作。一般情况下,worksheet是一个标准的二维数组,如下图:
初九之潜龙勿用
2024/06/20
2190
C#实现Excel合并单元格数据导入数据集
常用功能加载宏——单元格合并
使用Excel,单元格合并是常用的功能,系统带的合并功能是仅仅保留左上角唯一一个单元格的内容,实际工作中可能会存在需要合并单元格,同时要把内容也合并的需求。
xyj
2020/07/28
7100
常用功能加载宏——单元格合并
Excel技巧:快速处理单元格内的换行符
在Excel中,如果我们想要在一个单元格中将内容显示在不同行,可以在需要断行处使用Alt+回车键。然而,有时候会反过来。工作表中有多个单元格中都存在在不同行显示内容,而我们需要删除这些换行符,将内容显示在一行。如何快速处理呢?
fanjy
2023/02/24
3.2K0
Excel技巧:快速处理单元格内的换行符
小游戏2048
用Excel VBA来实现的手机上玩的那种组合数字的小游戏。 Public Row As Integer, Col As Integer '偏移 Di
xyj
2020/07/28
7930
小游戏2048
EXCEL取消合并且等于原合并值
方法一: 选中有合并单元格的区域, 例如:B4:B69,取消合并,然后在选中状态下\编辑\定位\定位条件\空值,确定后会在B5出现反白,输入等号后点B4,按住CTRL键回车. 方法二: Sub 取消合并且等于原合并值() If Selection.Count = 1 Then MsgBox "请选择合并单元格再执行本工具!", 64, "友情提示": Exit Sub Application.ScreenUpdating = False On Error GoTo err
用户1272546
2018/06/04
7010
ExcelVBA拆分_一簿一表_to_多簿一表
哆哆Excel
2023/09/09
2700
ExcelVBA拆分_一簿一表_to_多簿一表
Excel VBA编程
在Excel中,数据只有文本,数值,日期值,逻辑值和错误值五种类型。但是在VBA中,数据类型跟Excel不完全相同。根据数据的特点,VBA将数据分为布尔型(boolean),字节型(byte),整数型(integer),单精度浮点型(single),双精度浮点型(double),货币型(currency),小数型(decimal),字符串型(string),日期型(date),对象型等等
全栈程序员站长
2022/08/11
46.5K0
Excel VBA编程
VBA汇总文件夹中的多文件的工作表中不同单元格区域到总表
【问题】我们发了这样一个表格到各单位收集资料,各单位填写完后上交上来有许多个文件,我们现在想汇总成一年一个表,怎么办?
哆哆Excel
2022/10/25
2.4K0
VBA汇总文件夹中的多文件的工作表中不同单元格区域到总表
推荐阅读
相关推荐
ExcelVBA请按班别拆分为工作簿(筛选复制法)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档