2013-01-21 87 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