View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Ed Ed is offline
external usenet poster
 
Posts: 399
Default Brain lock: using array formula within VBA?

What I get from your response, Bernie, is a very useful piece of code (Thank
You!!) and the basic premise that there is no direct translation of an array
formula into VBA code? Instead, you must dissect the array formula and work
out the matching functions and such?

Ed

"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Ed,

For example:

Dim x As String
Dim arr1 As Variant
Dim IsThere As Boolean

arr1 = Array("Test1", "Test2", "Test3")

x = "Test2"
IsThere = Not IsError(Application.Match(x, arr1, False))
MsgBox "Match of " & x & " is " & IsThere

x = "Test4"
IsThere = Not IsError(Application.Match(x, arr1, False))
MsgBox "Match of " & x & " is " & IsThere

HTH,
Bernie
MS Excel MVP


"Ed" wrote in message

...
I'm just getting my feet wet in using array formulas. I'm beginning to

get
a glimpse of their usefulness. Unfortunately, I work almost exclusively
from within VBA, vice entering a formula on the worksheet. I grabbed (I
think!!) how to enter an array formula into the worksheet using VBA.

But
somehow it's slipping past me how to use an array formula entirely

within
VBA code.

For example, from John Walkenbach's book "Excel 2000 Formulas", he gives

an
array formula for determining if a range contains a particular value.

In
his example, a single cell is named "TheName", and a 5-column array of

names
is named "NameList". His array formula is {=IF(OR(TheName=NameList),
"Found", "Not Found")}.

If I want to do something like this entirely within VBA, then TheName is
likely to be a variable "x" and NameList an array "arr1". And I do not

want
to display text in a cell, but do this if true, do that if false. Am I
barking up the wrong tree on this? Or is there just a simple thing I'm
missing?

Ed