Insert Formula in Range
Another way is to just populate the whole range in one assignment:
Option Explicit
Sub InsertFormula2()
Dim myRng As Range
Dim LastRow As Long
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Set myRng = .Range("C3:C" & LastRow)
End With
myRng.Formula = "=IF(ISNA(VLOOKUP(A3,DataRange,1,FALSE)),"""", A3)"
End Sub
But I wouldn't use =vlookup() to check for a match.
I'd use a single column named range and a formula like:
=if(isnumber(match(a3,datarangecol1,0)),a3,"")
(Remember to double up your double quotes if you're going to use that formula in
your code.)
scott wrote:
I'm trying to insert the formula shown in CODE 2 below into cells C3:C13.
C3:C13 is a named range that always will be constantly growing, so my
function
InsertFormula() in CODE 1 should handle the range expanding dilema.
My question is syntax with the formula. CODE 2 shows the formula needed in
C3. However, when my function loops to the C4 cell, the formula being
inserted needs to change from using A3 cell to the A4 cell, and so on until
the function fills my range will the formula.
Can someone help me modify my InsertFormula() function to insert the formula
in each cell while incrementing the relative cell reference?
CODE 1:
Sub InsertFormula()
Dim c As Range
Set c = ActiveSheet.Range("C3")
Do While c.Offset(0, -2).Value < ""
c.Value = xxxxxx ' Should be my formula
Set c = c.Offset(1, 0)
Loop
End Sub
CODE 2:
=IF(ISNA(VLOOKUP(A3,DataRange,1,FALSE)),"",A3)
--
Dave Peterson
|