![简化 Excel 代码](https://linux22.com/image/1612519/%E7%AE%80%E5%8C%96%20Excel%20%E4%BB%A3%E7%A0%81.png)
我正在尝试编写一个可应用于一些旧文件的代码。因为旧文件都不同,所以我需要代码具有半灵活性。
我已经让代码运行了,我只需要稍微简化一下,因为它太长了。本质上,代码很简单,单元格(x,y)=单元格(x-1,y)+ 15 个单元格的总和,所有单元格间隔 3 列。我当前的代码是
ws1.Cells(n + first, 52).Formula = "=" & Split(Cells(1, 52).Address, "$")(1) & n + first - 1 & "+" & Split(Cells(1, 5).Address, "$")(1) & n + first & "+" & Split(Cells(1, 8).Address, "$")(1) & n + first & "+" & Split(Cells(1, 11).Address, "$")(1) & n + first & "+" & Split(Cells(1, 14).Address, "$")(1) & n + first & "+" & Split(Cells(1, 17).Address, "$")(1) & n + first & "+" & Split(Cells(1, 20).Address, "$")(1) & n + first & "+" & Split(Cells(1, 23).Address, "$")(1) & n + first & "+" & Split(Cells(1, 26).Address, "$")(1) & n + first & "+" & Split(Cells(1, 29).Address, "$")(1) & n + first & "+" & Split(Cells(1, 32).Address, "$")(1) & n + first & "+" & Split(Cells(1, 35).Address, "$")(1) & n + first & "+" & Split(Cells(1, 38).Address, "$")(1) & n + first & "+" & Split(Cells(1, 41).Address, "$")(1) & n + first & "+" & Split(Cells(1, 44).Address, "$")(1) & n + first & "+" & Split(Cells(1, 47).Address, "$")(1) & n + first
我确信因为它是重复的,所以可以通过某种方式将输入放入 for 循环中,循环每次将其作为字符串返回,然后将其连接在一起?
它需要引用单元格而不是仅仅将单元格加在一起,因此需要拆分代码来生成列引用。
注意:这是在循环中运行 n 的值。第一个变量用于标识计算的开始