如何将公式链接到已过滤的列?

时间:2015-02-26 00:44:46

标签: excel vba excel-vba

目前我正在尝试使用vba在单元格中输入此公式。

Selection.AutoFilter Field:=10, Criteria1:="*FG*"

Set Rng = Worksheets("Sheet1").Range("J2:J" & lastRow)

Set TopVisibleCell = Rng.Offset(1).SpecialCells(xlCellTypeVisible).Cells(1)

    TopVisibleCell.Formula = _
     "=IF(ISERROR(LEFT(I2,SEARCH("" - "",I2)-1)),I2,LEFT(I2,SEARCH("" - "",I2)-1))"

在我过滤了第I列的字段= 10之后,我试图在P列中输入公式。将topvisiblecell.formula输入到P列。在我过滤了第I列之后,公式将保持不变。假设我过滤了从第200行开始但在第P列中的公式,公式仍为I2。如何按照我过滤的列I进行更改?

1 个答案:

答案 0 :(得分:0)

我正在使用它:

    .Range("A:Z").AutoFilter Field:=10, Criteria1:="10"
.Range("B2:B200").SpecialCells(xlCellTypeVisible).Value = "=A" & .UsedRange.SpecialCells(xlCellTypeVisible).Row & "/2"

这会在所有B行中加上公式“= A +行数+ / 2,因此

B2=A2/2, B3=A3/2

等..