列A中有姓名,想要将列A中的人名合并相同单元格。 现在是全部合并成一个了。
表格内有一个类似的功能: 开始->合并->合并相同单元格
如果想通过代码实现, 可以遍历A列, 找出临近的相同值的单元格区域, 然后合并~
不会写怎么办,AI写了好久都打不到想要的效果,求代码 !!
可以参考这个代码, 可以合并临近的相同单元格
const activeSheet = ActiveSheet
// 获取当前使用区域
const usedRange = activeSheet.UsedRange
// 获取A列
const columnA = activeSheet.Columns("A")
let lastSameValue = ""
let startRowAddr = ""
let endRowAddr = ""
for (let row = usedRange.Row; row <= usedRange.Row + usedRange.Rows.Count; row++) {
const cell = columnA.Rows(row)
if (startRowAddr == "") {
startRowAddr = cell.Address()
endRowAddr = startRowAddr
lastSameValue = cell.Value
continue
}
if (cell.Value == lastSameValue) {
endRowAddr = cell.Address()
continue
}
if (startRowAddr != endRowAddr) {
const mergeAddr = startRowAddr + ":" + endRowAddr
activeSheet.Range(mergeAddr).Merge()
}
startRowAddr = cell.Address()
endRowAddr = startRowAddr
lastSameValue = cell.Value
}