Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


44019 / 76732 ←次へ | 前へ→

【37736】Re:配列と配列の要素数を受け取りたい
回答  ハチ  - 06/5/17(水) 13:30 -

引用なし
パスワード
   Variantにすればできると思います。

Sub test2()
 
  Dim get_res As Variant
  Dim i As Integer
  get_res = testf2("aaa,bb,cccc,ddd")
 
For i = LBound(get_res) To UBound(get_res)
  MsgBox get_res(i)
Next i
  MsgBox UBound(get_res)
End Sub

Function testf2(str As String) As Variant
 
  Dim stp As Integer         'ストップ位置
  Dim stt As Integer         'スタート位置
  Dim cnt As Integer         '配列の要素数
  Dim res_str() As String       '結果保存用配列

  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


'この処理だけなら関数Splitで出来そうですけど。

Sub Test3()

  Dim get_res As Variant
  Dim i As Integer
  get_res = Split("aaa,bb,cccc,ddd", ",")
 
For i = LBound(get_res) To UBound(get_res)
  MsgBox get_res(i)
Next i
  MsgBox UBound(get_res)
End Sub

0 hits

【37734】配列と配列の要素数を受け取りたい sin 06/5/17(水) 12:56 質問
【37735】Re:配列と配列の要素数を受け取りたい Jaka 06/5/17(水) 13:30 発言
【37737】Re:配列と配列の要素数を受け取りたい ハチ 06/5/17(水) 13:32 発言
【37739】Re:配列と配列の要素数を受け取りたい sin 06/5/17(水) 14:01 お礼
【37736】Re:配列と配列の要素数を受け取りたい ハチ 06/5/17(水) 13:30 回答
【37744】Re:配列と配列の要素数を受け取りたい sin 06/5/17(水) 17:26 質問
【37745】Re:配列と配列の要素数を受け取りたい ハチ 06/5/17(水) 17:50 発言
【37763】Re:配列と配列の要素数を受け取りたい sin 06/5/18(木) 11:06 お礼
【37738】Re:配列と配列の要素数を受け取りたい ハト 06/5/17(水) 13:42 回答
【37740】Re:配列と配列の要素数を受け取りたい sin 06/5/17(水) 15:56 お礼

44019 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free