2016-04-23 6 views
1

vbaで「getvalue」関数を使用して値を取得できません。VBA「getvalue」関数

Sub testgetvalue1() 
Dim p As String 
Dim t As String 
Dim s As String 
Dim a As String 
p = "D:\Archive Mail" 
t = "Excel_1" 
s = "Sheet1" 
a = "A1" 
msgbox getvalue(p, t, s, a) 
End Sub 

それは、常にエラー名「Subまたは関数が定義されていません」と、それは「のgetValue」コードとは、問題は、なぜ私はこのエラーメッセージを取得しています、その後は存在しないと仮定しfunction.Iを強調スロー?

アドバイス....

よろしく、 のPrashant

+0

'getvalue'はネイティブ関数ではありません。ユーザー定義関数(UDF)として記述されているコードの一部が欠落しています。 – Jeeped

+0

Getvalueは大文字ではないので、そのようなネイティブ関数がないことが明らかであり、自分でそれを作成する必要があります。 –

答えて

0

GetValueは、事前定義された関数ではありませんので、あなたはそれを自分で定義する必要があります。たぶんあなたはそれを定義して使用した記事を読んでいます。 Hereは、次のように定義して、このような記事、次のとおりです。

Private Function GetValue(path, file, sheet, ref) 
' Retrieves a value from a closed workbook 
    Dim arg As String 
' Make sure the file exists 
    If Right(path, 1) <> "\" Then path = path & "\" 
    If Dir(path & file) = "" Then 
     GetValue = "File Not Found" 
     Exit Function 
    End If 
' Create the argument 
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _ 
     Range(ref).Range("A1").Address(, , xlR1C1) 
' Execute an XLM macro 
    GetValue = ExecuteExcel4Macro(arg) 
End Function 

は、モジュールで、これを含めると、あなたは行く準備ができなければなりません。

+0

これで問題は解決しましたか?フィードバックをお願いできますか? – trincot

+0

大変お世話になりました。ありがとうございました – Prashant

+0

その場合は、回答を受け入れることができますか(回答の左にある灰色のチェックマークをクリックしてください)? – trincot