查找文本值,偏移行,输入公式和复制

时间:2020-05-14 18:32:23

标签: excel vba

在我的宏中,我有一个Excel表。

第1步:找到始终位于C列的文本:“所有其他”。

第2步:在D列的第一行中输入一个求和公式-(0,1)。

第3步:对未知范围进行求和,从D列开始,向下3行,为最后一行数据引用A列。

第4步:复制公式并将其粘贴到E列-(0,2)?

以下内容似乎无效,因为求和公式从C列开始,向下3行,而不是D列。

Dim Wb As Workbook
Dim Ws As Worksheet
Dim cOther As Range
Dim DataLastRow As Long

For Each Ws In ActiveWorkbook.Worksheets
With Ws
 If .Index <> 1 Then

 DataLastRow = .Range("A" & .Rows.Count).End(xlUp).Row

 Set cOther = .Range("C:C").Find("All Other", LookIn:=xlValues, lookat:=xlWhole)

 cOther.Offset(0, 1).Formula = "=SUM(" & cOther.Offset(3, 1).Address & ":" & .Cells(DataLastRow, 3).Address & ")"


 cOther.Offset(0, 1).Copy cOther.Offest(0, 2)

End If
End With
Next Ws

示例: 在Sheet2中,“所有其他”位于(3,20)中。 DataLastRow等于= 310

当我将鼠标悬停在公式行的开头时,显示:cOther.Offset(0,1).Formula = $C$23:$D$310

但是,当我将鼠标悬停在cOther.Offset(3,1).Address上时,说:=$D$23

cOther.Offset(0, 1).Copy cOther.Offest(0, 2)给出运行时错误'438':对象不支持此属性或方法

0 个答案:

没有答案