• ベストアンサー

String だと「 ByRef引数の型が一致しません 」というエラーが出ます。なぜ?

ここで「Kaplan-Meyer 生存分析に便利なソフトを教えて」と質問した shuu_01 です。ここで VisualBasic のソースのありかを教えて頂き、自分に使いやすいようソースを書き換えようと奮闘中です(それまで VisualBasic の経験がなく 無謀!と実感中です)。 元々のソースはグラフが1本だけだったので、肺癌だと「腺癌」「扁平上皮癌」「小細胞癌」、、といろんな癌の種類別にグラフを数本 書くのが目標です。そこで、 Sub km_test() Dim nc As Integer, gr() As String nc = 2 ReDim gr(nc) gr(0) = "腺癌" gr(1) = "扁平上皮癌" gr(2) = "小細胞癌" km_group_test nc, gr End Sub Sub km_group_test(nc As Integer, gr As String) End Sub というソースを書くと: String の変数 gr の色が変わり、「 ByRef引数の型が一致しません 」というエラーが出ます。 Integer の変数 nc ではエラーが出ません。 きちんと型を一致させているつもりなのに、なぜ???

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

関数の第2変数が文字列なのに、呼び出し側が文字列の配列を渡しているようです。 関数の呼び出し側を km_group_test nc, gr(1) とかにするか、関数を Sub km_group_test(nc As Integer, gr() As String) とかにしないと、型が違うと思います。

shuu_01
質問者

お礼

fumufumu_2006 さん、ありがとう!! 「 ByRef引数の型が一致しません 」で検索するといろいろ出てきても僕に当てはまるのを探し出せないで、困り抜いていました。 エラーはスッときれいに消えました。ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

gr() 配列

shuu_01
質問者

お礼

okormazd さん、回答ありがとうございます。「1番、短い回答はこれか!」と、自分の仕事(医師として検査所見をレポートする)をサクサク片付けるための参考にしたいです。

すると、全ての回答が全文表示されます。

関連するQ&A