在Excel中使用VBA合并相同的数据 保留不同的数据(或替换不同的数据)
2016-11-17 09:32
288 查看
替换不同数据的宏代码:
保留不同数据的宏代码:
演示效果自行试验哦
Option Explicit Sub hebing() '合并 Dim arr, h&, l%, i&, j&, n& arr = Range("a1").CurrentRegion.Value h = UBound(arr): l = UBound(arr, 2) ReDim brr(1 To h, 1 To l) For i = 1 To h - 1 If arr(i, 1) <> ""Then n = n + 1 For j = i + 1 To h If arr(i,1) = arr(j, 1) Then If arr(i, l) < arr(j, l)Then arr(i, l) = arr(j, l) arr(j, 1) = "" Else arr(j, 1) = "" End If EndIf Next j For j = 1 To l brr(n, j)= arr(n, j) Next j End If Next i Range("h1").Resize(Rows.Count, l) = "" Range("h1").Resize(h, l) = brr End Sub
保留不同数据的宏代码:
Option Explicit Sub hebing() '合并 Dim arr, h&, l%, i&, j&, n& arr = Range("a1").CurrentRegion.Value h = UBound(arr): l = UBound(arr, 2) ReDim brr(1 To h, 1 To l) For i = 1 To h - 1 If arr(i, 1) <> ""Then n = n + 1 For j = i + 1 To h If arr(i,1) = arr(j, 1) Then arr(i, l) = arr(i, l) & arr(j,l) arr(j, 1) = "" EndIf Next j For j = 1 To l brr(n, j)= arr(n, j) Next j End If Next i Range("h1").Resize(Rows.Count, l) = "" Range("h1").Resize(h, l) = brr End Sub
演示效果自行试验哦
相关文章推荐
- 使用游标将excel不同表的列关联,并根据两表间相同的列值逐行更新数据
- loadrunner实现使用相同excel文档不同列的数据同时参数化多个字段,实现插入的数据一一对应
- 使用Excel的VLOOKUP函数合并不同Sheet页两个表格中的相同项
- 使用VBA实现Excel合并相同内容的相邻单元格
- Excel中使用VBA替换字符
- 合并同一行内不同列的相同数据
- 使用VBA把EXCEL数据导入数据库
- excel合并相同列数据到同一单元格
- 如何在 Visual Basic 或 VBA 中使用 ADO 来处理 Excel 数据
- [转载]excel怎么比较两组或两列数据的相同项和不同项
- C# 使用OLEDB读取不同版本Excel数据的连接字符串
- 在Excel中使用VBA来筛选数据
- 读取excel模板填充数据 并合并相同文本单元格
- [轉]如何在 Visual Basic 或 VBA 中使用 ADO 来处理 Excel 数据
- 使用VBA将一个EXCEL大表自动分成一系列小表(保留首行)
- 关于结构相同,数据不同的数据库进行一个表数据合并入另一个数据库中的表
- VBA Excel值数据替换
- excel 将A列相同的值对应的B列的单元格进行合并,并保留单元格内容
- 使用OLEDB读取不同版本Excel数据的连接字符串设置
- 如何使用VBA实现将多个Excel文件中的数据复制到某个Excel文件中