【excel VBA】

@hogehoge = split(’,’,$hogehoge);
みたいなことをVBA内で行いたいのですが、どのようにスマートにかけますか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:usr1 No.1

回答回数56ベストアンサー獲得回数0

ポイント20pt

これでどうでしょうか。

Split 各要素ことに区切られた文字列から1次元配列を作成し返す。

Split(expression[,delimiter[,limit[,compare]]])

id:nankichi

あ。関数でデフォルトであったのですか。

てっきりないものだという先入観がありました・・・

2004/07/21 16:30:16
id:cx20 No.2

回答回数607ベストアンサー獲得回数108

ポイント20pt

VBA にも Split 関数がありますので、

それを利用すれば同様に書けます。

Sub SplitTest()

Dim strArray

Dim strData

strData = ”a,b,c”

’ 区切り文字にカンマ(,)を使用

strArray = Split(strData, ”,”)

For Each strItem In strArray

Debug.Print strItem

Next

End Sub

id:kibitaki No.3

回答回数53ベストアンサー獲得回数4

ポイント20pt

配列を作成するだけなら

arrHoge = Split(strHoge,”.”)

でOKです。

「スマートに」とあるのは、その前後のソースも

処理が入り組んでいるのでしょうか?

(ちょっと気になりましたので・・・)

id:ma2ma2 No.4

回答回数121ベストアンサー獲得回数0

ポイント20pt

VB5でSplit関数

SPLIT関数ってEXCELVBAには無いのですか?

VBの5以前には無いので自作してるのを拾ってみました。

id:nankichi

かってな思いこみでないと思っていました。

出直してきます。すみません。

2004/07/21 16:31:07
  • id:name_mm
    ・・・終わってるけど

    Sub SplitSample()

    Dim arrHogehoge() As String
    Const strHogehoge As String = ”aaa,bbb,ccc”

    arrHogehoge = Split(strHogehoge, ”,”)

    MsgBox arrHogehoge(1)

    MsgBox Split(strHogehoge, ”,”)(1)

    End Sub

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません