2013-01-21 48 views
0

我现在有这一段代码插入新行,该行的第二个单元格使用验证:将公式插入单元格;修改我的代码

Sub RICH() 
' 
' Macro3 Macro 
    Dim ws As Worksheet 
    Dim fnd As Range 
    Dim fndstr As String 

    fndstr = "Targeted Premium Ads" 
    Set ws = Worksheets("Inputsheet") 

     Set fnd = ws.Columns(2).Find(what:=fndstr, After:=ws.Range("B11"), _ 
     LookIn:=xlValues, lookat:=xlPart, searchorder:=xlByColumns, _ 
     searchdirection:=xlNext, MatchCase:=False) 

     If Not fnd Is Nothing Then 

      Rows(fnd.Row - 1).Select 
      Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
      Range("B" & fnd.Row - 2).Select 
      With Selection.Validation 
       .Delete 
       .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
       xlBetween, Formula1:="=Suppliers!$B$2:$B$178" 
       .IgnoreBlank = True 
       .InCellDropdown = True 
       .InputTitle = "" 
       .ErrorTitle = "" 
       .InputMessage = "" 
       .ErrorMessage = "" 
       .ShowInput = True 
       .ShowError = True 



      End With 
     End If 
End Sub 

不过,我现在要插入两个功能,说:= SUM( A $ 4,B $ 5)和=总和(A $ 9,C $ 3)分别放入这个新输出行的N,O列。什么是正确的方法呢?

回答

0

如何:

Range("N" & fnd.Row - 2).Formula = "=SUM(A$4,B$5)" 
Range("O" & fnd.Row - 2).Formula = "=SUM(A$9,C$3)" 

(假设fnd.Row - 2是要放置公式行)。

+0

太棒了!谢谢! – user1717622

+0

我可以动态添加这些单元格引用,以便对于每个新行单元格引用的更改? – user1717622

+0

@ user1717622是的,但您需要找到一种方法将公式链接到行号。根据您的使用情况,使用R1C1坐标中的公式('Range(...)。FormulaR1C1 = ...')可能更容易。为了得到后者的例子:记录宏并在单元格中输入公式,它将被记录为R1C1公式。 – assylias