Excel VBA質問箱 IV

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

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


6951 / 13646 ツリー ←次へ | 前へ→

【42127】split関数の代用 10年後はあぶれるもの 06/9/2(土) 12:01 質問[未読]
【42128】Re:split関数の代用 Blue 06/9/2(土) 12:39 回答[未読]
【42130】Re:split関数の代用 10年後はあぶれるもの 06/9/2(土) 15:29 お礼[未読]

【42127】split関数の代用
質問  10年後はあぶれるもの  - 06/9/2(土) 12:01 -

引用なし
パスワード
   Excel97でsplit関数は使用できませんが代用する方法があれば教えてください。
よろしくおねがいします!



str="aaa/bbb/ccc"

myArray=Split(str,"/")

【42128】Re:split関数の代用
回答  Blue  - 06/9/2(土) 12:39 -

引用なし
パスワード
   ループ文とInStr,Midあたりで代用するんですかね。

Sub test()
  Dim s() As String
  
  s = MySplit("ABC,DEF,,GHI", ",")
End Sub

Private Function MySplit(ByVal text As String, ByVal del As String) As String()
  Dim start  As Long
  Dim pos   As Long
  Dim count  As Long
  Dim result() As String
  
  If del = "" Then Exit Function

  start = 1
  Do
    pos = InStr(start, text, del)
    If pos = 0 Then
      Exit Do
    End If
    ReDim Preserve result(count)
    result(count) = Mid$(text, start, pos - start)
    start = pos + 1
    count = count + 1
  Loop
  ReDim Preserve result(count)
  result(count) = Mid$(text, start)
  
  MySplit = result
End Function

【42130】Re:split関数の代用
お礼  10年後はあぶれるもの  - 06/9/2(土) 15:29 -

引用なし
パスワード
   ▼Blue さん:
>ループ文とInStr,Midあたりで代用するんですかね。
>
>Sub test()
>  Dim s() As String
>  
>  s = MySplit("ABC,DEF,,GHI", ",")
>End Sub
>
>Private Function MySplit(ByVal text As String, ByVal del As String) As String()
>  Dim start  As Long
>  Dim pos   As Long
>  Dim count  As Long
>  Dim result() As String
>  
>  If del = "" Then Exit Function
>
>  start = 1
>  Do
>    pos = InStr(start, text, del)
>    If pos = 0 Then
>      Exit Do
>    End If
>    ReDim Preserve result(count)
>    result(count) = Mid$(text, start, pos - start)
>    start = pos + 1
>    count = count + 1
>  Loop
>  ReDim Preserve result(count)
>  result(count) = Mid$(text, start)
>  
>  MySplit = result
>End Function


ありがとうございました!!

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