あなたはここで間違ったいくつかのことをやっています。まず、他の人がコメントに記しているように、Set
はObject
という変数を割り当てるための特別なキーワードであるため、Set
はここでエラーを引き起こします。
次に、関数呼び出しに適切な戻り値を正しく割り当てる必要があります。現在のコード:
Public Function popu()
Dim Vars() As String
Set Vars = GetVars()
End Function
4つのことが間違っていますか。
Vars()
Vars()
に等しくありません。
GetVars()
あなたは関数呼び出しに空の括弧を含めるべきではありませんPublic Function GetVariables()
と同じではありません。
配列は、Variant
と宣言する必要があります。文字列配列を作成する配列をString()
として宣言できますが、これは一般的に避けられます。さらに、変数をVariant()
として宣言することもできますが、null値(たとえば、vbNullString
、またはEmpty
など)を返そうとすると問題が発生します。
したがって、あなたのコードは次のようになります。ポールは彼の答えに実証したよう
Public Function GetVariables() As Variant
Dim Variables As Variant
GetVariables = Variables
End Function
' Make sure your function has an explicit returntype, even if that return is variant.
Public Function popu() as Variant
Dim Variables As Variant
Variables = GetVariables
End Function
、あなたの配列は、次元あらかじめ定義されてインスタンス化することができ、あなたの配列に値をハードコーディングすることができます。あなたのアプリケーションにはまったく依存しますが、配列のドキュメントを読んで、それらを作成するためのさまざまな使い方や方法を理解したいと思うでしょう。
代わりに、「バリアント」を吐き出して使用してください。 – Bathsheba
1.文字配列を設定しないでください。 2. ^^^^^ 3. 'GetVars' <>' GetVariables' –
'Set'キーワードを削除します。オブジェクト用です。 –