从Excel宏处理和删除信息

时间:2019-06-27 21:34:47

标签: excel vba

我正在使用VB宏。本质上,我想做的是让宏读取输入,并首先确定单元格ID号是否与行中的ID匹配。示例:如果第1行的ID为1122,并且第2、3、4和5行全部匹配,则我希望宏读取该行并在NbrOfA单元格中创建一个计数。一旦意识到不存在ID匹配项,它将继续移至下一个ID,并寻找该ID号的匹配项并继续创建计数。在执行此操作时,我还需要它从具有特定字符串(例如“ open”,“ closed”等)的另一列中读取。阅读该输入,并创建一个单独的标题为NbrofOpenA的行。一旦数据用完,我便希望有一个单一的单元格,该单元格显示与ID号匹配的操作数(NbrOfA)以及打开的操作数(NbrOfOpenA)。

当前,我收到错误:“编译错误:未定义子函数或函数”,突出显示Set Cell(Sheet2.Cells(FirstRowOfI,23)= NbrOfA

在附加的excel工作表中,它显示2个单元格已删除。它们实际上并不会被删除,只是想让我了解我要寻找的内容

const objArr = [{
    "name": "mark",
    "height": "tall",
    "theId": "1",
    "nat": "uk"
  },
  {
    "name": "ben",
    "height": "medium",
    "theId": "2",
    "nat": "uk"
  },
  {
    "name": "neil",
    "height": "small",
    "theId": "3",
    "nat": "uk"
  }
]

const arr = objArr.map(item => {

  /* arrItem is the new object that 
  item will be mapped to. This object
  will exclude the key "theId" */
  const arrItem = {};
  
  /* Iterate keys of item */
  for (const key in item) {

    if (key !== 'theId') {
    
      /* If key not "theId" then add
      it and the entry value to 
      arrItem */      
      arrItem[key] = item[key];
    }
  }

  /* Return arrItem */
  return arrItem;
});


console.log(arr);

[{enter image description here 1

1 个答案:

答案 0 :(得分:0)

您需要VBA吗?您可以使用公式轻松实现所需的内容,甚至可以使用数据透视表!这是带有公式的示例:

img1