在我的宏中,我有一个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':对象不支持此属性或方法