目前我正在尝试使用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进行更改?
答案 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
等..