Airscript 怎么合并相同单元格?

阅读次数 62

列A中有姓名,想要将列A中的人名合并相同单元格。 现在是全部合并成一个了。

2 Answers

表格内有一个类似的功能: 开始->合并->合并相同单元格

如果想通过代码实现, 可以遍历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
}