|
▼ハチ さん:
確認しました、これでスッキリしました。
ありがとうございました。
>▼sin さん:
>出来るようです。
>自分も初めて知りました。
>勉強になります^^
>
>なんだか二次元配列みたいになってますが、
>あってるのかな??
>
>Sub test4()
>
> Dim get_res() As String
> Dim i As Integer
> get_res = testf2("aaa,bb,cccc,ddd")
>
>For i = LBound(get_res) To UBound(get_res)
> MsgBox get_res(i)
> MsgBox TypeName(get_res(i))
>Next i
> MsgBox UBound(get_res)
>
> MsgBox testf2("aaa,bb,cccc,ddd")(0)
> MsgBox TypeName(testf2("aaa,bb,cccc,ddd")(0))
>
>End Sub
>
>Function testf2(str As String) As String()
>
> Dim stp As Integer 'ストップ位置
> Dim stt As Integer 'スタート位置
> Dim cnt As Integer '配列の要素数
> Dim res_str() As String '結果保存用配列
ここに、MsgBox VarType(testf2) を入れたところ
ちゃんと8200が表示されました!
>
> stt = 0
> cnt = 0
> stp = 1
>
> Do Until stp = 0
> ReDim Preserve res_str(cnt)
>
> stp = InStr(stt + 1, str, ",") 'カンマ位置の取得
>
> If stp <> 0 Then 'カンマが検出された場合の処理
> res_str(cnt) = Mid(str, stt + 1, stp - stt - 1)
> cnt = cnt + 1
> stt = stp
> Else 'カンマが検出されかった場合の処理
> res_str(cnt) = Mid(str, stt + 1, Len(str) - stt)
> End If
> Loop
>
> testf2 = res_str
>
>End Function
|
|