Excel VBA質問箱 IV

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

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


44021 / 76732 ←次へ | 前へ→

【37734】配列と配列の要素数を受け取りたい
質問  sin  - 06/5/17(水) 12:56 -

引用なし
パスワード
   宜しくお願いします。

下記のテストでは、 testf で文字列をカンマで分解して、
その配列の「要素数」と「配列本体」を tests 受け取りたいと考えています。
Functionプロシージャ や 配列 について色々調べてみましたが、
解決方法が見つかりませんでした。
なにか良い方法があればご教授下さい。

※下記では文字列は"aaa,bb,cccc,ddd"でカンマによって4つに分けられますが、
実際に使用するときは不定です。

―――――――――――――――――――――――――――――――――――――

Sub tests()
  
  Dim get_res As Integer

  get_res = testf("aaa,bb,cccc,ddd")    '要素数を受け取る
  
'※※※ここで Function testf の配列 res_str() も受け取りたい※※※

End Sub

Function testf(str As String) As Integer '←ここで何か出来そうな気が・・・
  
  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

  testf = cnt   '←要素数を戻り値として返す
  ' res_str()   '←この配列も戻り値として返したい

End Function

―――――――――――――――――――――――――――――――――――――

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 お礼

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