精华内容
下载资源
问答
  • 1用VBA在Excel分解合并单元格的代码范例:Sub分解合并单元格并填充()Set已选择的区域=Selection首行=已选择的区域.Row行数=已选择的区域.Rows.CountIf首行+行数-1=65536Then行数=ActiveSheet.UsedRange.Row+...

    1

    VBA

    Excel

    中分解合并单元格的代码范例:

    Sub

    分解合并单元格并填充

    ()

    Set

    已选择的区域

    = Selection

    首行

    =

    已选择的区域

    .Row

    行数

    =

    已选择的区域

    .Rows.Count

    If

    +

    -

    1

    =

    65536

    Then

    =

    ActiveSheet.UsedRange.Row

    +

    ActiveSheet.UsedRange.Rows.Count -

    首行

    + 1

    首列

    =

    已选择的区域

    .Column

    列数

    =

    已选择的区域

    .Columns.Count

    For

    =

    首列

    To

    首列

    +

    列数

    - 1

    Set

    单元格

    = Cells(

    首行

    ,

    )

    =

    首行

    While

    单元格

    .Row <

    首行

    +

    行数

    If

    单元格

    .MergeCells Then

    Set

    合并区

    =

    单元格

    .MergeArea

    合并区

    .UnMerge

    If

    合并区

    .Rows.Count > 1 Then

    合并区

    .FillDown

    =

    +

    合并区

    .Rows.Count

    Else

    =

    + 1

    End If

    Set

    单元格

    = Cells(

    ,

    )

    Wend

    Next

    End Sub

    Sub

    合并相同的单元格

    ()

    Dim Rng As Range, Dic As Object, Arr, N&

    Set Dic = CreateObject("scripting.dictionary")

    '

    创建字典项目

    For Each Rng In Range("b2:b" & Cells(Rows.Count, 2).End(3).Row)

    '

    循环

    B

    列要处理的数据区

    If Rng <> "" Then

    '

    如果单元格不为空

    ,

    If

    Dic.exists(Rng.Value)

    Then

    '

    如果已存在该单元格内容对应的字典项目

    ,

    则将当前单元格与已存

    在内容进行组合

    Set Dic(Rng.Value) = Union(Dic(Rng.Value), Rng)

    Else

    '

    否则进行添加

    Set Dic(Rng.Value) = Rng

    End If

    End If

    Next Rng

    If Dic.Count > 0 Then

    '

    如果字典项目数大于

    0,

    Arr = Dic.keys

    '

    将字典的

    key

    赋值给数组

    Application.DisplayAlerts

    =

    False

    '

    关闭警告信息

    (

    合并单元格时会弹出警告信息

    ,

    通过此命令禁止弹出

    该信息

    )

    展开全文
  • 在Excel合并单元格的使用会带来相当令人不爽的麻烦。但其使用率还是蛮高的。如图,需要对部门的销售额做总计。Sub 樱桃小丸子()Dim arr, d As Object, i&, r& '//声明变量arr = [a1].CurrentRegion '//...

    在Excel中,合并单元格的使用会带来相当令人不爽的麻烦。但其使用率还是蛮高的。

    如图,需要对部门的销售额做总计。

    Sub 樱桃小丸子()

    Dim arr, d As Object, i&, r&   '//声明变量

    arr = [a1].CurrentRegion         '//将数据放进数组

    Set d = CreateObject('scripting.dictionary') '//创建字典

    For i = 2 To UBound(arr)   '//遍历数组元素

    '//如果数组元素非空,即合并单元格范围中有数据的单元格,通常是第一个

    If arr(i, 1) <> '' Then

    '//标记其行号,如部门A的行为2,即r=2

    r = i

    '//将部门对应的销售额放进字典

    d(arr(i, 1)) = arr(i, 3)

    Else    '//如果合并单元格中的单元格为空

    '//根据标记的行号,也就是提取部门名称,并进行字典求和

    d(arr(r, 1)) = d(arr(r, 1)) arr(i, 3)

    End If

    Next

    '//输出数据

    [e1].Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.items))

    End Sub

    结果:

    展开全文
  • 在Excel,使用合并单元格功能时,最后的结果将只是所合并区域左上角单元格的数据,如图1所示。 然而,很多时候我们都需要在合并的同时也能保留单元格的的数据。下面的程序在合并单元格后将保留合并单元格区域...

    在Excel中,使用合并单元格功能时,最后的结果将只是所合并区域左上角单元格中的数据,如图1所示。
    在这里插入图片描述
    然而,很多时候我们都需要在合并的同时也能保留单元格的的数据。下面的程序在合并单元格后将保留合并单元格区域中所有单元格中的数据。

    Sub MergeCellsAndValues()
    	Dim rng As Range    
    	Dim strResult As String       
    	On Error Resume Next       
    	For Each rng In Selection       '可以将" "更换为你自已的分隔符号       
    		strResult = strResult & rng.Value & " "   
    	Next rng       
    	strResult= Left(strResult, Len(strResult) - 2)       
    	
    	With Selection        
    		.Clear       
    		.Cells(1).Value = strResult        
    		.Merge       
    		.HorizontalAlignment = xlLeft       
    		.VerticalAlignment = xlCenter       
    		.WrapText = True    
    	End With
    End Sub
    

    代码首先遍历所要合并的单元格并将这些单元格中的值连接成一个字符串存储在指定的变量中,示例中使用空格(” ”)来分隔各单元格的数据,你可以修改为其他分隔符,例如逗号。代码运行后的效果如图所示。
    在这里插入图片描述

    展开全文
  • 合并单元格是Excel比较蛋疼的东东,但至今仍有不少使用合并单元格的案例。如下图,需要对ABCDE进行求和。数据Sub comm()Dim arr, R&, i&, d As ObjectSet d = CreateObject("scripting.dictionary")arr = ...

    合并单元格是Excel中比较蛋疼的东东,但至今仍有不少使用合并单元格的案例。如下图,需要对ABCDE进行求和。

    d62fa9e5baed

    数据

    Sub comm()

    Dim arr, R&, i&, d As Object

    Set d = CreateObject("scripting.dictionary")

    arr = [a1].CurrentRegion

    For i = 1 To UBound(arr)

    If arr(i, 2) <> "" Then '//如果B列单元格不为空

    R = i '//标记此时的行号

    d(arr(i, 1)) = d(arr(i, 1)) + arr(i, 2) '//求和

    Else '//如果B列单元格为空

    '//求和,注意arr(R, 2) R取标记的行号,也就是合并单元格区域中有数据的单元格

    d(arr(i, 1)) = d(arr(i, 1)) + arr(R, 2)

    End If

    Next

    [d1].Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.items)) '//输出数据

    End Sub

    结果:

    d62fa9e5baed

    结果

    此题目同样可以改版,变成求和的key是合并单元格

    d62fa9e5baed

    数据

    同样采取标记行的做法,代码如下,不解释了。

    Sub comm()

    Dim arr, R&, i&, d As Object

    Set d = CreateObject("scripting.dictionary")

    arr = [a1].CurrentRegion

    For i = 1 To UBound(arr)

    If arr(i, 1) <> "" Then

    R = i

    d(arr(i, 1)) = d(arr(i, 1)) + arr(i, 2)

    Else

    d(arr(R, 1)) = d(arr(R, 1)) + arr(i, 2)

    End If

    Next

    [d1].Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.items))

    End Sub

    结果

    d62fa9e5baed

    结果

    要充分利用循环遍历干点神马事情,一切都可以在当中发生。

    展开全文
  • 平时工作经常会用到excel的功能, 难免有一些操作不能批量处理, 比如说某一列有100w的数据需要合并单元格, 手动去点的话, 费时费力, 又不能保证准确性. 此时一般有三种办法, 1.请出公式大神 2.vba 3.vbs 论效率和...
  • VBA合并单元格黏贴赋值

    千次阅读 2013-11-06 12:33:49
    所以在vba中也一定不能了,其实可以通过一种workaround的方式来间接实现这个需求,实现步骤如下 一、拆分合并的单元格 二、给第一个单元格赋值 三、合并单元格 下面是具体的使用 Sub tttt()  Dim i, g ...
  • 排序是数据分析与处理过程最常见也是最重要的问题之一,搞定排序可以提升工作效率3.485626%……看在老祝爱发红包的份上,我当然对她这话发自肺腑的相信,所以曾发过两篇推文:如何使用VBA代码对表格的数据排序...
  • 排序是数据分析与处理过程最常见也是最重要的问题之一,搞定排序可以提升工作效率3.485626%……看在老祝爱发红包的份上,我当然对她这话发自肺腑的相信,所以曾发过两篇推文:如何使用VBA代码对表格的数据排序...
  • vba合并单元格.xlsm

    2020-05-03 11:53:57
    平时工作经常会用到excel的功能, 难免有一些操作不能批量处理, 比如说某一列有100w的数据需要合并单元格, 手动去点的话, 费时费力, 又不能保证准确性. 此时一般有三种办法, 1.请出公式大神 2.vba 3.vbs 论效率和...
  • VBA编程知识点(15)——合并单元格学习自杨洋老师《全民一起VBA》合并单元格在程序内部的处理中还是被当成单个单元格的。合并单元格只有左上角的单元格包含数据,其他为空。Range.MergeCells属性当...Null是VBA中的...
  • '工作用于打印报表时需用到相同单元格合并 Private Sub Workbook_BeforePrint(Cancel As Boolean) '打印之后执行函数 Dim l%, i% '声明变量 k% = 1 '第一列 l = [A65536].End(xlUp).Row For i = l To 11 Step -1 '...
  • VBA中获取合并单元格的真实地址

    千次阅读 2016-12-20 16:21:00
    二少工作需要在VBA中获取 合并单元格 的地址范围, 于是有了此方法,作此记录 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Range("A1").MergeCells Then realadd = ...
  • VBA练习——合并单元格

    千次阅读 2017-03-29 18:56:30
    本代码是针对书《别怕,Excel_VBA其实很简单》示例文件_ExcelHome\第4章\4.7.9 快速合并多表数据.xls 的练习,不完全同于书本代码Sub test()Dim sht As Worksheet Dim optype As String Dim rng As Range Dim ...
  • Excel VBA中单元格合并与拆分

    千次阅读 2018-12-30 15:26:10
    对于合并单元格这里提供”从上到下“和“从下到上”合并单元格两种方式,”从上到下“的方法需要记录当前列有多少个相同的单元格和判断相应的单元格是否是合并单元格,过程相对来说繁琐一些,“从下到上”的方法则...
  • VBA实践+查找所有合并单元格并记录其地址合并单元格是两个以上单元格的合并,但在excel程序内部还是被当成多个单个的单元格的。合并单元格只有左上角的单元格包含数据,其他为空。一般,合并单元格的存在会给数据...
  • VBA实践+处理合并单元格(无法访问单独的列或行)在word使用VBA处理表格时,如果表格存在合并单元格,经常会碰到“无法访问单独的行或列”或者“不能选择整行整列”的错误,导致程序无法运行。具有合并单元格的...
  • 前景提要(文末提供源码下载)合并单元格的操作,相信在大家日常的工作会经常使用到,比方说相同数据合并单元格,或者纯粹为了表格样式的美观而选择合并单元格等等,单元格的合并操作,在Excel也很简单,直接选中...
  • 合并单元格/VBA

    2015-08-11 16:36:00
    ' 合并某一列相同数据的单元格 Sub MergeColumns() Dim rowN As Integer Dim i, j, m, n As Integer Dim col As Integer col = 2 ' 合并哪一列的单元格 Application.DisplayAlerts =...
  • 我们日常办公经常遇到需要把excel某列单元格进行批量合并的需求,当然在数据量比较少的情况下,我们手工逐个进行合并单元格即可,但当数据量比较大甚至海量的时候,往往会令我们挠头,今天在这个给大家分享一个...
  • VBA实践+处理合并单元格(无法访问单独的列或行)在word使用VBA处理表格时,如果表格存在合并单元格,经常会碰到“无法访问单独的行或列”或者“不能选择整行整列”的错误,导致程序无法运行。具有合并单元格的...
  • 地球人都知道合并单元格后,只会保留合并区域左上角单元格的内容,但是实际确实存在合并想保留所有内容,把这些内容通过分隔符合并到一个单元格,所以我们今天就来解决这个问题!动画演示:使用效果制作教程进入...
  • 设置单元格的行列坐标并写的word文档中Sub SetTablePosition() Dim tbl As Table Dim cell As cell Dim tblIndex As Integer Dim cellContent As String 以下遍历表格存在的单元格 For Each tbl In This...
  • Excel使用VBA实现合并、拆分单元格,另存为功能,VBA代码有详细说明,给初学者提供学习VBA的基础知识。
  • 在Excel,如要以地址表示某个矩形的单元格区域,则需要运用冒号(:)运算符,在其两侧分别写入该矩形区域对角的两个单元格地址,即最左上角的单元格地址和最右下角的单元格地址,或者最左下角的单元格地址和最右上...
  • 大家好,我们今日继续讲解VBA代码解决方案的第49讲内容(注:在整理之前的VBA系列文章中合并了一些文章,重新成集排序为第49讲,所以从这篇文章开始以新的排序计算):VBA中SUM函数的利用方法。对多个单元格求和,是...
  • Range的Merge方法合并单元格 VBA运行时关闭警告 多行相同的内容处理 示例: Range的Merge方法合并单元格 单元格对象的Merge方法可以用来合并相邻的单元格区域,使之成为一个更大的矩形单元格区域。其语法为 ...
  • 之前我曾经教过 VBA 和分类汇总的方法,详情请参阅Excel VBA(20) – 批量合并单元格Excel 批量合并单元格,量大且需要合并的行数都不一样今天要教大家另外一种方法,就是我们平时常用的数据透视表。万万没想到,数据...
  • 实例需求如下图所示,数据保存在A列,数据组之间使用全角逗号分隔,重整后需要将每组数据开始的圆括号部分移动到末尾,并合并相同的全角方括号内容。貌似这个需求有些拗口,实际效果见B列。示例代码如下代码如看不...
  • 如何取消合并单元格并填充内容,以前弄过一段视频,分别用了四种方法,今天用VBA实现将多个单元格的内容填写到多个不同的合并单元格中。如下图,需要把多个单元格分别装入到多个合并的区域。一个个复制粘贴显然不是...
  • 我想将多个excel 表合并在一多excel表,但是excel的表头是有合并单元格的,如下图片所示(合并的情况),紧急,希望通过vba代码实现,谢谢!![图片说明]...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 181
精华内容 72
关键字:

vba中合并单元格