我在宏观上挣扎,我希望能有这个:
我的表有A - AH列,行可变。如果A栏包含" Customer"那么它应该把公式(= $ K $ 1& V3)放到L列。换句话说,如果在第3行,A3列是" Customer&#34 ;,那么在L3上将公式。在第4行,A4列不是" Customer",而是其他东西,则单元格L4应该不受影响。我想将它用于所有单元格,这意味着宏应该识别,表格的末尾在哪里=因为行数将从一天起改变。
我已经有了这段代码:
Sub testFind()
Dim rng As Range
Dim rngFound As Range
Set rng = Range("A:A")
Set rngFound = rng.Find("Customer")
If rngFound = "Customer" Then
ActiveCell.FormulaR1C1 = "=R1C11&RC[10]"
Else
End If
End Sub
但它显然不起作用,显然:)。
非常感谢任何建议!
答案 0 :(得分:1)
如果您想使用VBA解决方案,可以使用下面的代码(代码中的说明作为注释):
Option Explicit
Sub testFind()
Dim LastRow As Long
Dim rng As Range, C As Range
With Worksheets("Sheet1") ' <-- replace "Sheet1" with your sheet's name
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row ' last row in column A
Set rng = .Range("A2:A" & LastRow) ' set the dynamic range to be searched
' loop through all cells in column A
For Each C In rng
If C.Value = "Customer" Then
C.Offset(, 11).Formula = "=$K$1&V" & C.Row ' use offset to put the formula on column "L"
End If
Next C
End With
End Sub
注意:如果列中的值为&#34; A&#34;由&#34;客户&#34;组成。 (之前和之后不必完全匹配),然后使用以下行:
If C.Value Like "*Customer*" Then
答案 1 :(得分:0)
单元格(Rows.Count,&#34; A&#34;)。End(xlUp).Row - 可用于查找表格中的最后一行 并使用If来检查A列是否包含&#34; customer&#34; -
If Activesheet.formulaRC[-10]= "customer" then
ActiveCell.FormulaR1C1 = "=RC[-1]&RC[11]"
end if
现在循环遍历行