| 
    
     |  | 遅くなりました 
 ▼neptune さん 検証して頂きありがとうございます
 
 >で、確認しましたが、問題なく動作しました。
 >VB6でも上記で検証しましたが、やはり、問題は発生しませんでした。
 >なので、何故、エラーが出るかは?です。
 
 >念の為、Bookの破損を切り分ける為、
 >新しいBookを作成して、検証をやり直してみてはどうですか?
 >この辺りしか思い付きません。
 
 再起動後、同一ブックでエラーは発生しなくなりました
 これで、他のアプリケーションに、引数渡しすることが出来るようになりました
 ありがとうございました。
 
 
 今まで、同一アプリケーション内では通常
 function関数で処理させ戻り値を利用することばかりでした
 ということで、これらは
 特に意識することなく参照渡し ByRefで使用していました
 今回の件名で、値渡ししたいということで、この辺がわからないまま
 ためしていたので??の状態だったようです
 
 
 >ググッたり、試したりしているうちに、大変遅くなってしまいました
 について理解のないままではまずいと振り返ってみました
 
 通常は
 Function new_str(n_str1 As String, n_str2 As String) As String
 
 new_str = n_str1 & str2
 
 End Function
 
 Sub get_str()
 
 Dim str1 As String
 Dim str2 As String
 
 str1 = "hoge"
 str2 = " fuga"
 
 Debug.Print new_str(str1, str2)
 
 End Sub
 のような利用の仕方しています
 
 今回の
 >なぜだか、うまく動かせずに
 は、下記のような場合で、下記、変に加工するとすぐエラーになってしまい
 うまく修正することは出来ないのですが
 
 ByValの時は123のようになるよな気がするのですが hoge fuga になってしまいます
 
 基本がわかっていないので、コード自体が変かもしれませんが
 アドバイス頂けるとうれしいですよろしくお願い致します
 
 Sub Test()
 
 Dim str1 As String
 Dim str2 As String
 Dim out As String
 
 str1 = "hoge"
 str2 = " fuga"
 out = "123"
 
 'Call ByVal_str(str1, str2, out)
 Debug.Print "Test1:" & ByVal_str(str1, str2, out)
 
 'Call ByRef_str(str1, str2, out)
 Debug.Print "Test2:" & ByRef_str(str1, str2, out)
 
 
 End Sub
 
 Function ByVal_str(ByVal idx1 As String, ByVal idx2 As String, ByVal modori As String) As String
 
 ByVal_str = idx1 & idx2
 Debug.Print "ByVal_str:" & ByVal_str
 
 End Function
 
 
 Function ByRef_str(ByVal idx1 As String, ByVal idx2 As String, ByRef modori As String) As String
 
 ByRef_str = idx1 & idx2
 Debug.Print "ByRef_str:" & ByRef_str
 
 End Function
 
 
 ByVal_str:hoge fuga
 Test1:hoge fuga
 ByRef_str:hoge fuga
 Test2:hoge fuga
 
 
 
 |  |