ユーザーフォームのrefeditコントロールから指定された範囲をバリアント配列に渡そうとしています。私はUserFormのRefEditコントロールからバリアント配列に範囲を渡す
Private Sub CommandButton1_Click()
Dim y0 As Variant
Dim X0 As Variant
y0 = Range(RefEdit1.Value)
X0 = Range(RefEdit2.Value)
MsgBox (TypeName(y0))
Call DataCheck
Me.Hide
End Sub
メッセージボックスが私を示し、私は試してみてください図のようなものをY0の寸法外またはプリントアレイのサブルーチンを使用して印刷するときにY0が、しかし、実際にバリアント()である:私は、次のコードを持っています(他の配列でも動作しています)、エラーメッセージが出ます。以下を参照してください:
Private Sub DataCheck()
'Check dimensions of original data
y0N = UBound(y0, 1)
y0k = UBound(y0, 2)
'X0N = UBound(X0, 1) - LBound(X0, 1) + 1
'X0k = UBound(X0, 2) - LBound(X0, 2) + 1
Debug.Print "N y0 = "; y0N
Debug.Print "k y0 = "; y0k
'Debug.Print "N y0 = "; X0N
'Debug.Print "k y0 = "; X0k
End Sub
「ランタイムエラー '13'」というメッセージが表示されます。私はこの文にカーソルを合わせるとまた、:
y0N = UBound(y0, 1)
私は型の不一致エラーが発生します。
ここで何が起こっているかについてのアイデアはありますか?いかなる援助も感謝します。
ベスト、
ダン
あなたがサブDataCheckに変数 'x0'と' y0'を渡している場合は? –
デバッグヘルプ(「なぜこのコードは動作しませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体に再現するのに必要な最短コードが含まれている必要があります。明確な問題文がない質問は、他の読者にとって有用ではありません。 [MCVE]と[ask]の作成方法をお読みください。 – tambre