+ Reply to Thread
Results 1 to 4 of 4

Error 2015 with Application.Evaluate

  1. #1
    Jeff
    Guest

    Error 2015 with Application.Evaluate

    Hello,

    If someone could help me correct my VBA procedure. I'm lost and I don't know
    how to fix it. I get #value error.

    Here's an example of my spreadsheet:

    A B C D E F G
    20 6 F E Escada 1,940 495,866
    Here's my VBA procedure:
    Dim mtchValue As Variant
    Dim getvalue As Variant
    Dim sh As String
    Dim fname As Variant

    fname = Application.GetOpenFilename
    If fname = False Then
    Exit Sub 'cancel
    End If

    sh = MakeReferenceNicer(fname)


    Workbooks.Open Filename:=fname

    mtchValue = ("MATCH(1,(" & sh & "A1:A10000=20)*" & _
    "(" & sh & "B1:B10000=6)*" & "(" & sh & _
    "C1:C10000=""F"")*" & "(" & sh & _
    "E1:E10000=""Escada""),0)")

    If Not IsError(mtchValue) Then
    getvalue = Application.Evaluate("Index(" & sh & "F1:F10000" &
    mtchValue & ")")
    End If
    Range("S1").Select
    ActiveCell.Value = getvalue


    End Sub


    Function MakeReferenceNicer(fname) As String

    'taking
    '"C:\My Documents\excel\book5.xls"
    'shooting for:
    '"'C:\My Documents\excel\[book5.xls]May'!"

    Dim iCtr As Long
    Dim myStr As String

    For iCtr = Len(fname) To 1 Step -1
    If Mid(fname, iCtr, 1) = "\" Then
    'found that last backslash
    myStr = "'" & Left(fname, iCtr) & _
    "[" & Mid(fname, iCtr + 1) & "]May'!"
    Exit For
    End If
    Next iCtr

    MakeReferenceNicer = myStr

    End Function



    --
    Regards,
    Jeff


  2. #2
    Dave Peterson
    Guest

    Re: Error 2015 with Application.Evaluate

    Without testing....

    getvalue _
    = Application.Evaluate("Index(" & sh & "F1:F10000" & mtchValue & ")")
    needs an extra comma:
    getvalue _
    = Application.Evaluate("Index(" & sh & "F1:F10000" & "," & mtchValue & ")")



    Jeff wrote:
    >
    > Hello,
    >
    > If someone could help me correct my VBA procedure. I'm lost and I don't know
    > how to fix it. I get #value error.
    >
    > Here's an example of my spreadsheet:
    >
    > A B C D E F G
    > 20 6 F E Escada 1,940 495,866
    > Here's my VBA procedure:
    > Dim mtchValue As Variant
    > Dim getvalue As Variant
    > Dim sh As String
    > Dim fname As Variant
    >
    > fname = Application.GetOpenFilename
    > If fname = False Then
    > Exit Sub 'cancel
    > End If
    >
    > sh = MakeReferenceNicer(fname)
    >
    > Workbooks.Open Filename:=fname
    >
    > mtchValue = ("MATCH(1,(" & sh & "A1:A10000=20)*" & _
    > "(" & sh & "B1:B10000=6)*" & "(" & sh & _
    > "C1:C10000=""F"")*" & "(" & sh & _
    > "E1:E10000=""Escada""),0)")
    >
    > If Not IsError(mtchValue) Then
    > getvalue = Application.Evaluate("Index(" & sh & "F1:F10000" &
    > mtchValue & ")")
    > End If
    > Range("S1").Select
    > ActiveCell.Value = getvalue
    >
    >
    > End Sub
    >
    >
    > Function MakeReferenceNicer(fname) As String
    >
    > 'taking
    > '"C:\My Documents\excel\book5.xls"
    > 'shooting for:
    > '"'C:\My Documents\excel\[book5.xls]May'!"
    >
    > Dim iCtr As Long
    > Dim myStr As String
    >
    > For iCtr = Len(fname) To 1 Step -1
    > If Mid(fname, iCtr, 1) = "\" Then
    > 'found that last backslash
    > myStr = "'" & Left(fname, iCtr) & _
    > "[" & Mid(fname, iCtr + 1) & "]May'!"
    > Exit For
    > End If
    > Next iCtr
    >
    > MakeReferenceNicer = myStr
    >
    > End Function
    >
    > --
    > Regards,
    > Jeff


    --

    Dave Peterson

  3. #3
    Jeff
    Guest

    Re: Error 2015 with Application.Evaluate

    Hi Dave,

    I made the correction, but I still have the same error msg (#value)

    --
    Regards,
    Jeff



    "Dave Peterson" wrote:

    > Without testing....
    >
    > getvalue _
    > = Application.Evaluate("Index(" & sh & "F1:F10000" & mtchValue & ")")
    > needs an extra comma:
    > getvalue _
    > = Application.Evaluate("Index(" & sh & "F1:F10000" & "," & mtchValue & ")")
    >
    >
    >
    > Jeff wrote:
    > >
    > > Hello,
    > >
    > > If someone could help me correct my VBA procedure. I'm lost and I don't know
    > > how to fix it. I get #value error.
    > >
    > > Here's an example of my spreadsheet:
    > >
    > > A B C D E F G
    > > 20 6 F E Escada 1,940 495,866
    > > Here's my VBA procedure:
    > > Dim mtchValue As Variant
    > > Dim getvalue As Variant
    > > Dim sh As String
    > > Dim fname As Variant
    > >
    > > fname = Application.GetOpenFilename
    > > If fname = False Then
    > > Exit Sub 'cancel
    > > End If
    > >
    > > sh = MakeReferenceNicer(fname)
    > >
    > > Workbooks.Open Filename:=fname
    > >
    > > mtchValue = ("MATCH(1,(" & sh & "A1:A10000=20)*" & _
    > > "(" & sh & "B1:B10000=6)*" & "(" & sh & _
    > > "C1:C10000=""F"")*" & "(" & sh & _
    > > "E1:E10000=""Escada""),0)")
    > >
    > > If Not IsError(mtchValue) Then
    > > getvalue = Application.Evaluate("Index(" & sh & "F1:F10000" &
    > > mtchValue & ")")
    > > End If
    > > Range("S1").Select
    > > ActiveCell.Value = getvalue
    > >
    > >
    > > End Sub
    > >
    > >
    > > Function MakeReferenceNicer(fname) As String
    > >
    > > 'taking
    > > '"C:\My Documents\excel\book5.xls"
    > > 'shooting for:
    > > '"'C:\My Documents\excel\[book5.xls]May'!"
    > >
    > > Dim iCtr As Long
    > > Dim myStr As String
    > >
    > > For iCtr = Len(fname) To 1 Step -1
    > > If Mid(fname, iCtr, 1) = "\" Then
    > > 'found that last backslash
    > > myStr = "'" & Left(fname, iCtr) & _
    > > "[" & Mid(fname, iCtr + 1) & "]May'!"
    > > Exit For
    > > End If
    > > Next iCtr
    > >
    > > MakeReferenceNicer = myStr
    > >
    > > End Function
    > >
    > > --
    > > Regards,
    > > Jeff

    >
    > --
    >
    > Dave Peterson
    >


  4. #4
    Dave Peterson
    Guest

    Re: Error 2015 with Application.Evaluate

    There was an error in the original thread.

    > > > mtchValue = ("MATCH(1,(" & sh & "A1:A10000=20)*" & _
    > > > "(" & sh & "B1:B10000=6)*" & "(" & sh & _
    > > > "C1:C10000=""F"")*" & "(" & sh & _
    > > > "E1:E10000=""Escada""),0)")


    Should have been:

    > > > mtchValue = application.evaluate _
    > > > ("MATCH(1,(" & sh & "A1:A10000=20)*" & _
    > > > "(" & sh & "B1:B10000=6)*" & "(" & sh & _
    > > > "C1:C10000=""F"")*" & "(" & sh & _
    > > > "E1:E10000=""Escada""),0)")



    Else mtchValue is just that long string.

    Jeff wrote:
    >
    > Hi Dave,
    >
    > I made the correction, but I still have the same error msg (#value)
    >
    > --
    > Regards,
    > Jeff
    >
    > "Dave Peterson" wrote:
    >
    > > Without testing....
    > >
    > > getvalue _
    > > = Application.Evaluate("Index(" & sh & "F1:F10000" & mtchValue & ")")
    > > needs an extra comma:
    > > getvalue _
    > > = Application.Evaluate("Index(" & sh & "F1:F10000" & "," & mtchValue & ")")
    > >
    > >
    > >
    > > Jeff wrote:
    > > >
    > > > Hello,
    > > >
    > > > If someone could help me correct my VBA procedure. I'm lost and I don't know
    > > > how to fix it. I get #value error.
    > > >
    > > > Here's an example of my spreadsheet:
    > > >
    > > > A B C D E F G
    > > > 20 6 F E Escada 1,940 495,866
    > > > Here's my VBA procedure:
    > > > Dim mtchValue As Variant
    > > > Dim getvalue As Variant
    > > > Dim sh As String
    > > > Dim fname As Variant
    > > >
    > > > fname = Application.GetOpenFilename
    > > > If fname = False Then
    > > > Exit Sub 'cancel
    > > > End If
    > > >
    > > > sh = MakeReferenceNicer(fname)
    > > >
    > > > Workbooks.Open Filename:=fname
    > > >
    > > > mtchValue = ("MATCH(1,(" & sh & "A1:A10000=20)*" & _
    > > > "(" & sh & "B1:B10000=6)*" & "(" & sh & _
    > > > "C1:C10000=""F"")*" & "(" & sh & _
    > > > "E1:E10000=""Escada""),0)")
    > > >
    > > > If Not IsError(mtchValue) Then
    > > > getvalue = Application.Evaluate("Index(" & sh & "F1:F10000" &
    > > > mtchValue & ")")
    > > > End If
    > > > Range("S1").Select
    > > > ActiveCell.Value = getvalue
    > > >
    > > >
    > > > End Sub
    > > >
    > > >
    > > > Function MakeReferenceNicer(fname) As String
    > > >
    > > > 'taking
    > > > '"C:\My Documents\excel\book5.xls"
    > > > 'shooting for:
    > > > '"'C:\My Documents\excel\[book5.xls]May'!"
    > > >
    > > > Dim iCtr As Long
    > > > Dim myStr As String
    > > >
    > > > For iCtr = Len(fname) To 1 Step -1
    > > > If Mid(fname, iCtr, 1) = "\" Then
    > > > 'found that last backslash
    > > > myStr = "'" & Left(fname, iCtr) & _
    > > > "[" & Mid(fname, iCtr + 1) & "]May'!"
    > > > Exit For
    > > > End If
    > > > Next iCtr
    > > >
    > > > MakeReferenceNicer = myStr
    > > >
    > > > End Function
    > > >
    > > > --
    > > > Regards,
    > > > Jeff

    > >
    > > --
    > >
    > > Dave Peterson
    > >


    --

    Dave Peterson

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1