VBA处理excel合并单元格格

Sub Macro1()' Macro1 Macro' 快捷键: Ctrl+Shift+A
Application.Goto Reference:="Macro1"
Application.DisplayAlerts = False
For i = [a65536].End(3).Row To 2 Step -1
If Cells(i - 1, 1) = Cells(i, 1) Then
Range(Cells(i - 1, 1), Cells(i, 1)).Merge
For i = [a65536].End(3).Row To 2 Step -1
If Cells(i - 1, 7) = Cells(i, 7) Then
Range(Cells(i - 1, 7), Cells(i, 7)).Merge
Application.DisplayAlerts = TrueEnd Sub
阅读(...) 评论()欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 6224 人关注过本帖
标题:关于VBA合并单元格的菜鸟问题
等 级:新手上路
帖 子:33
结帖率:40%
&&已结贴√
&&问题点数:10&&回复次数:10&&&
关于VBA合并单元格的菜鸟问题
range(cells(1,1),cells(1,2)).merge代码有问题吗?'两个单元格合并
range(cells(1,1),cells(1,8)).merge 有问题吗?'八个单元格合并
搜索更多相关主题的帖子:
等 级:版主
威 望:194
帖 子:4099
专家分:25241
VBA ,单元格合并 ,可以使用录制宏的功能进行生成
授人于鱼,不如授人于渔
早已停用QQ了
等 级:新手上路
帖 子:33
回复 2楼 风吹过b
我是用vba写excel的表头,用录制宏的方法不方便
等 级:版主
威 望:194
帖 子:4099
专家分:25241
你可以再新建一个 工作簿,再录制一下宏看一下代码.
可以多窗口工作啊.
不建议你到当前编辑的工作簿中进行录制.
授人于鱼,不如授人于渔
早已停用QQ了
等 级:新手上路
帖 子:33
回复 4楼 风吹过b
我现在打开两个excel表格,要合并单元格的时第二个打开的,用宏录制的方法只能合并第一次打开的excel表格,
range(A1:H1).merge中A1和H1不能做任何改动
等 级:版主
威 望:194
帖 子:4099
专家分:25241
我录制的结果是:
&&& Range(&B7:E11&).Select&&&&&&&&& '选择一个区域
&&& Selection.Merge&&&&&&&&&&&&&&&&&'合并
按照你的写法,可以执行。
分二行写就是:
&&& Range(Cells(2, 1), Cells(5, 5)).Select
&&& Selection.Merge
授人于鱼,不如授人于渔
早已停用QQ了
等 级:新手上路
帖 子:33
回复 6楼 风吹过b
我的程序需要打开两个excel表
range(excelapp.cells(1,1),excelapp.cells(1,8)).merge
我现在是用excelapp来表示打开的第二个excel表,可是加上excelapp后就不正确,不加就默认为打开的第一个表
等 级:版主
威 望:194
帖 子:4099
专家分:25241
&&得分:10&
你是要指定工作表执行吧。那你要在程序指定对象是基于哪个工作表的。
&&& '当前活动工作簿,活动工作表
&&& Range(Excel.ActiveWorkbook.ActiveSheet.Cells(1, 1), Excel.ActiveWorkbook.ActiveSheet.Cells(1, 8)).Merge
你自己对着你的要求确定工作簿的编号吧。
&&& '第二个工作簿,活动工作表
&&& Range(Excel.Workbooks(2).ActiveSheet.Cells(1, 1), Excel.Workbooks(2).ActiveSheet.Cells(1, 8)).Merge
或者使用工作簿的名字来选择
&&& 'Book3 工作簿,活动工作表
&&& Range(Excel.Workbooks(&Book3&).ActiveSheet.Cells(1, 1), Excel.Workbooks(&Book3&).ActiveSheet.Cells(1, 8)).Merge
授人于鱼,不如授人于渔
早已停用QQ了
等 级:新手上路
帖 子:33
回复 8楼 风吹过b
多谢指教,成功了
等 级:论坛游民
帖 子:34
专家分:17
汗。我才学七天,不知道哪天才能到你们那么级别,你们说的我都不懂
版权所有,并保留所有权利。
Powered by , Processed in 0.342104 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved社会化媒体
了解更多>>
桂ICP备 号
阅读下一篇
自媒体运营攻略
行业经验交流
Hi,在你登录以后,就可以永久免费的收藏任何您感兴趣的内容,关注感兴趣的作者!
手机注册或邮箱注册
点击按钮进行验证
请输入正确的邮箱
已有帐号请点击
帐号创建成功!
我们刚刚给你发送了一封验证邮件
请在48小时内查收邮件,并按照提示验证邮箱
感谢你对微口网的信任与支持
你输入的邮箱还未注册
还没有帐号请点击
点击按钮进行验证
你输入的邮箱还未注册
又想起来了?
你已成功重置密码,请妥善保管,以后使用新密码登录
邮件发送成功!
我们刚刚给你发送了一封邮件
请在5分钟内查收邮件,并按照提示重置密码
感谢你对微口网的信任与支持
对不起,你的帐号尚未验证
如果你没有收到邮件,请留意垃圾箱 或
意见与建议
请留下您的联系方式
* 留下您正确的联系方式,以便工作人员尽快与你取得联系
转藏至我的藏点要想判断合并单元格,得分为两种情况:
①:当前选中的单元格为合并单元格;
②:选区内有合并单元格;
If Selection.MergeCells or IsNull(Selection.MergeCells) Then
MsgBox "选区内有合并单元格"
MsgBox "选区内没有合并单元格"
Flag = False
For Each Rng In Selection
If Rng.MergeCells Then
Flag = True
If Flag Then
MsgBox "选区内有合并单元格"
MsgBox "选区内没有合并单元格"
经过测试验证,代码一比代码二更具有效率。在使用的时候,将如上的代码放到过程里面即可直接使用。合并单元格状态下vba选行问题
&&&我在使用Excel的过程中,有时候需要用vba实现这样的功能,就是自动选择符合条件的某一行,然后执行希望的操作。以第5行为例,想要删除第5行的时候,一般情况下语言是这样:
rows("5:5").select
selection.delete
但是,Excel有这样一个问题,当遇上合并单元格的时候,Excel在自动选择某一行的时候会连带的把别的行也选择上,比如,假如A1到A9单元格是合并状态,那Excel在选在第5行的时候会把第1行到第9行全部选中并且删除,实现不了预定的功能。
遇到这种问题的时候,我经过摸索,可以通过以下这种方法解决,就是将语言改为:
rows("5:5").delete
假如要删除的是第a行,a不确定,那么语言是
&&& rows(a
& ":" & a).delete
这个delete是删除的命令,也可以是别的命令,比如涂色,插入行,隐藏等等……
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 合并单元格的快捷键 的文章

 

随机推荐