• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル VBA)

エクセルVBAで配列要素をカンマごとに取り出す方法は?

このQ&Aのポイント
  • エクセルVBAで、配列の要素をカンマごとに取り出す方法を知りたいです。配列の一つずつを&でつなぐのは大変です。
  • 特定の配列要素を取り出す方法も知りたいです。たとえば、配列の前半と後半を2分割したり、前2つと残りの要素を取り出したりしたいです。
  • この質問はレセ電の一環であり、エクセルVBAを使って配列を操作する方法について学びたいと思っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

>そうすると、全部の要素が、Joinされませんか 必要なものだけ配列に取り込んでJoinすればいいのでは?

MrTakuya
質問者

お礼

ご丁寧にご回答いただきありがとうございます。 データは可変です。固定なら、文字数で取り出せますものね。 他の例なら、以前使った A組,32番,山田太郎,男,12歳,45人中35位,性格明るい のような内容が変わるデータでもいいです。 >必要なものだけ配列に取り込んでJoinすればいいのでは とは たとえば32要素の連結なら、 vの配列があればそれをsplitで割って、 roop a=1 to 32 st= st & "," & v(a) next とするのでしょうか。 要領を得ない聞き方ですいません。 それと親切に教えていただきありがとうございます。

その他の回答 (3)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.4

配列への格納、配列からの取出しの方法です。 Dim mojiA As String Dim haiA As Variant mojiA = "A,B,C,D,E" haiA = Split(mojiA, ",") MsgBox mojiA & vbCrLf & "配列のアイテム数:" & UBound(haiA) & vbCrLf & "一つ目:" & haiA(0) & vbCrLf & "二つ目:" & haiA(1)

MrTakuya
質問者

お礼

参考にさせていただきます。 ありがとうございました。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

疑問なのは例題としてあげている、 >A,B,C,D,E,F,G,H のように、","で区切ると8個になり且つ1個が文字列1つであるという不変なのか、 それともまったく定義のない可変なデータなのかでも変わってきそうな感じですけど。 例えば2分割するなら文字列の長さから出せそうですが、可変すると文字列の長さから 真ん中の位置を割り出す事も無理ですし。 そうすると単純に","を頭から数えていってその位置を割り出すのかな・・・?

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

SplitしたものをJoinするとか。

MrTakuya
質問者

お礼

そうすると、全部の要素が、Joinされませんか

関連するQ&A

専門家に質問してみよう