请问各位大神,如何匹配range中的A、B、C列和Cloumn的index?

阅读次数 63

某个单元格是通过match函数获取的index列号,但要对这个单元格进行合并,需要使用range函数,range函数只能用A1:B1这种格式,如果把cloumn获取的index列索引转化成A、B、C、D这种列名呢?

看不懂,贴代码,再说问题。

3 Answers
// 定义API
const API = Application;

// 定义使用区域
var UsedRange = API.ActiveSheet.UsedRange;

var firstCol = UsedRange.Column;
var lastCol = UsedRange.ColumnEnd;
var firstRow = UsedRange.Row;
var lastRow = UsedRange.RowEnd;

// 打印激活区域的范围
console.log(
  '[' + 'firstCol: ' + firstCol + ']',
  '[' + 'lastCol: ' + lastCol + ']',
  '[' + 'firstRow: ' + firstRow + ']',
  '[' + 'lastRow: ' + lastRow + ']'
)


//'#FF0000' 红色
//'#FFFF00' 黄色

for (let i = firstRow + 1; i <= lastRow; i++) {
  //如果没有大标题和小标题firstRow+0,如果有大标题firstRow+1,如果有大标题和小标题firstRow+2

  //let strA = Cells(i, 'A').Text;//获取A列单元格文本内容
  //判断单元格有没有内容
  //if (strA) {
  //sumA += parseInt(strA.match(/\d+/)[0]);
  //} else {
  //sumA += 0;
  //}

  let strB = Cells(i, 'B').Text;//获取B列单元格文本内容
  //判断单元格有没有内容
  if (strB) {
    let rNum = 'A' + [i] + ':' + 'B' + [i]//组装单元格范围
    Range(rNum).Merge();//合并单元格
  }
}





实测有效,根据自己的情况修改

可以通过两种方式选择单元格

比如: 选择第二行第三列的单元格

//1.通过地址选择单元格
console.log(ActiveSheet.Range("A1").Text)
//2.通过偏移量选择单元格
console.log(ActiveSheet.Rows(2).Columns(3).Text)