2014-02-14 2 views
0

Это ответ на вопрос, на который мне ответили ранее. Прошу прощения, если мне кажется, что я задаю много вопросов по этому вопросу, я довольно новичок в VBA.Заявка на формулу Определенная или объектная ошибка

У меня есть строка кода, которая должна содержать формулу в ячейке. Он дает мне

Application Defined or Object Defined Error message: 

Вот код цепочки макросов с последней строкой, где сообщается об ошибке.

Sub DBFtoAVI() 
' 
' DBFtoAVI1 Macro 
' Updated by Scott Schmeling on 2/10/2014 based on a Macro recorded by Rebecca Davis 
' 

' Format As Adjusted 

    Sheets("As Adjusted").Select 
    Columns("K:K").Copy 
    Columns("K:K").PasteSpecial Paste:=xlPasteValues 
    Columns("M:S").EntireColumn.AutoFit 
    Columns("Q:R").Delete Shift:=xlToLeft 

' Create Names for Item, Treat, and Price 

' Item 

    Sheets("ITEM").Select 
    Cells.Select 
    With Selection 
     .EntireColumn.AutoFit 
     .Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("B2") _ 
     , Order2:=xlAscending 
    End With 
    Columns("B:W").Select 
    ActiveWorkbook.Names.Add Name:="itemlookup", RefersToR1C1:="=ITEM!C2:C23" 

' Treat 

    Sheets("TREAT").Select 
    Cells.Select 
    With Selection 
     .EntireColumn.AutoFit 
     .Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("B2") _ 
     , Order2:=xlAscending 
    End With 
    Columns("B:L").Select 
    ActiveWorkbook.Names.Add Name:="treatlookup", RefersToR1C1:="=TREAT!C2:C12" 

' Price 

    Sheets("PRICE").Select 
    Cells.EntireColumn.AutoFit 
    Columns("D:J").Select 
    ActiveWorkbook.Names.Add Name:="pricechangelookup", RefersToR1C1:= _ 
     "=PRICE!C4:C10" 


' Sheets("ITEM").Select 
' Columns("C:C").Select 
' Selection.Find(What:="d", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ 
'  :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ 
'  False, SearchFormat:=False).Activate 


' Insert DBF to AVI Worksheet 

    Sheets.Add(Before:=Sheets(5)).Name = "DBFtoAVI" 
    Sheets("DBFtoAVI").Select 
    ActiveCell.FormulaR1C1 = "='As Adjusted'!RC" 
    Range("A1").Select 
    Selection.AutoFill Destination:=Range("A1:M1"), Type:=xlFillDefault 
    Range("A1:M1").Select 
    Selection.AutoFill Destination:=Range("A1:M2000"), Type:=xlFillDefault 
    Range("A1:M2000").Select 

' Create Header and Columns A - E 

    Columns("A:E").Select 
    Selection.Insert Shift:=xlToRight 
    Range("A1").FormulaR1C1 = "Type" 
    Range("B1").FormulaR1C1 = "Action" 
    Range("C1").FormulaR1C1 = "Left" 
    Range("D1").FormulaR1C1 = "Right" 
    Range("E1").FormulaR1C1 = "PriceDiff" 
    Range("A4").FormulaR1C1 = "T" 
    Range("B4").FormulaR1C1 = "=IF(RC[-1]='T',VLOOKUP(RC[7],treatlookup,11,FALSE),VLOOKUP(RC[7],itemlookup,22,FALSE))" 

Снова помощь очень ценится.

ответ

0

Изменить

Range("B4").FormulaR1C1 = "=IF(RC[-1]='T',VLOOKUP(RC[7],treatlookup,11,FALSE),VLOOKUP(RC[7],itemlookup,22,FALSE))" 

в

Range("B4").FormulaR1C1 = "=IF(RC[-1]=""T"",VLOOKUP(RC[7],treatlookup,11,FALSE),VLOOKUP(RC[7],itemlookup,22,FALSE))" 
+1

Как всегда на самом верху этого @simoco. Спасибо за всю вашу помощь, не смог сделать этот проект без него. – SASUSMC

Смежные вопросы