バリアント配列 (2 次元) を取り、それを通過してすべての日付を long に変更する関数を作成しようとしています。
Private Function mlDateHelper(a As Variant)
Dim i, j As Integer
For i = 1 To UBound(a.value, 1)
For j = 1 To UBound(a.value, 2)
If IsDate(a(i, j)) Then
a(i, j) = CLng(a(i, j)) 'This line errors out
End If
Next j
Next i
mlDateHelper = a
End Function
基本的に、私は両方の次元で配列を反復処理しているだけで、日付があるときはいつでもその日付を long にリセットしようとしています。
デバッグしていると、 が正しく計算されていることがわかりCLng(a(i, j))
ますが、その値を a(i, j) に代入しようとするとクラッシュします。
「アプリケーション定義またはオブジェクト定義のエラー」が表示されます。考え?ご協力いただきありがとうございます!