对整个Excel工作表的大量偏移

时间:2017-03-22 13:11:56

标签: excel vba excel-vba

我有两张MS Excel文件。第一张包含用户输入,第二张包含公式。

Sheet 1中

+---+---+---+---+---+---+
|   | A | B | C | D | E |
+---+---+---+---+---+---+
| 1 | 1 |   | 0 | 9 |   |
| 2 | 9 | 7 |   | 3 | 2 |
| 3 | 8 |   |   | 4 |   |
| 4 | 4 |   |   | 8 |   |
+---+---+---+---+---+---+

Sheet 2中

+---+--------------------------------+
|   |               A                |
+---+--------------------------------+
| 1 | =SUM(Sheet1!A1:A2)             |
| 2 | =PRODUCT(Sheet1!A4*Sheet11!B2) |
| 3 | =MEAN(Sheet1!A1:A3)            |
+---+--------------------------------+

我希望 Sheet2 中的每个公式都向右偏移三个单元格。因此,这个例子将成为:

Sheet2(偏移后)

+---+--------------------------------+
|   |               A                |
+---+--------------------------------+
| 1 | =SUM(Sheet1!D1:D2)             |
| 2 | =PRODUCT(Sheet1!D4*Sheet11!E2) |
| 3 | =MEAN(Sheet1!D1:D3)            |
+---+--------------------------------+

我怎么能这样做? 我知道我可以使用OFFSET公式,但这将是一个非常难看的解决方案应用于整个工作表(36000行和200多列)。

我没有任何代码要发布,因为我不知道如何开始解决问题。

1 个答案:

答案 0 :(得分:3)

如果你只想做一次,一个简单的解决方案是在第一列之前在Sheet1上插入3列.Pheet2上的公式将按照你的要求进行偏移。 之后,只需从Sheet1开始,从D1开始剪切所有内容并将其粘贴到A1。