增加excel公式1

我试图复制和粘贴几个单元格保持格式,他们ebing链接到一个表。

目前我有一个表,但我从另一张表引用它,例如:

=Sheet2!A1 =Sheet2!B1 =Sheet2!C1 =Sheet2!D1 =Sheet2!E1 

我试图把它复制下来一次4行,并粘贴多次,值继续到当前单元格ID,但我想每增加1他们,例如,当我贴我希望他们是:

 =Sheet2!A2 =Sheet2!B2 =Sheet2!C2 =Sheet2!D2 =Sheet2!E2 

有没有比手动更改所有单元格id更快的方法?

谢谢!

select所需的单元格,然后在VBA中运行以下代码:

 Public Sub TestMe() Dim myCell As Range For Each myCell In Selection If myCell.HasFormula Then myCell.Formula = myCell.Formula & "+1" Next myCell End Sub 

如果你按了太多次,这是如何删除它最后的+1

 Public Sub UnTestMe() Dim myCell As Range For Each myCell In Selection If myCell.HasFormula Then myCell.Formula = Left(myCell.Formula, _ Len(myCell.Formula) - 2) Next myCell End Sub 

关于@SJR的评论,如果你想改变单元格的引用地址 ,这是一个可能的解决方法:

 Public Sub TestMe() Dim myCell As Range For Each myCell In Selection If myCell.HasFormula Then myCell.Formula = Left(myCell.Formula, _ Len(myCell.Formula) - 1) & 2 Next myCell End Sub 

只需将&2更改为您想要参考的号码即可。

一个math技巧。

=INDIRECT("Sheet2!A"&INT(ROW()/4)-*offset*)

先调整偏移量 ,然后按照需要复制并粘贴。

ROW()返回公式所在的行号。 例如,如果您键入的公式在单元格A20 ,则ROW()返回20.即如果需要在A20显示Sheet2!A1 ,则偏移量应该为4.公式将变为=INDIRECT("Sheet2!A"INT(ROW()/4)-4)

 ThisWorkbook.Sheets("Your_Sheet_Name").Range("A99999").End(xlUp).Offset(1, 0) 

修改上面的代码。 这样做是select单元格A99999,然后使用Ctrl和向上箭头命令来select最后一行的值,并偏移一个,所以它实际上select下面的单元格。 然后,你可以粘贴任何你想要的单元格。