変数を配列に格納する時に、二つの条件を指定することはできますか?
VBAです。
Private Sub test()
Dim i As Long
Dim Str As String
Dim tmp As Variant
Str = "a,i,u-e-o"
tmp = Split(Str, ",") '配列に格納する
For i = LBound(tmp) To UBound(tmp)
Debug.Print tmp(i)
Next i
End Sub
の場合、結果が
a
i
u-e-o
になってしまいます。
tmp = Split(Str, "," or "-")
のようなことをして
a
i
u
e
o
と表示させたいです。
"a,i,u-e-o"を"a,i,u,e,o"にすることはできません。ご教授よろしくお願いします。
No.3
- 回答日時:
#1、cjです。
すみません、勘違いで書きすぎました。
#2さん、ご紹介の方法でいくつかありますね。
大変失礼いたしました。
No.2
- 回答日時:
No.1
- 回答日時:
こんにちは。
Sub Re7759904a()
Dim i As Long
Dim sStr As String
Dim tmp As Variant
sStr = "a,i,u-e-o"
' ' 区切り文字を(置換によって)統一後、配列に格納する
tmp = Split(Replace(sStr, "-", ","), ",")
For i = LBound(tmp) To UBound(tmp)
Debug.Print tmp(i)
Next i
End Sub
Split()関数のように非ループで実現するには、一旦置換するしかないですね。
> "a,i,u-e-o"を"a,i,u,e,o"にすることはできません。
という限定がどういう意味なのかはわかりませんけれど。
或いはループを考えるにしても、区切り文字を統一した方が結局は効率的です。
また、区切り文字は本来、その文字(記号)が、テキストの中で
区切り文字以外の意味で使われることがない
という前提で成り立っていますから、
そういう意味では、既に使われている区切り文字に置換する、ということに
問題があるとは思えません。
もしかしたら、ここに書かれていない条件があるのでしょうか?
> "a,i,u-e-o"を"a,i,u,e,o"にすることはできません。
という限定がどういう意味なのかはわかりませんけれど。
なんか自分で読み返しても意味がわかりませんでした笑
すいませんでした。
置換しちゃえばいいんですね!
うまく行きました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) VBA シート上にドロップダウンリストを作り、予め指定値をセットしたいのですが 1 2023/03/25 15:15
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
WORDで改ページすると時々グレ...
-
マクロを使ってフォルダー内に...
-
何故、日本は未だに数字を3桁...
-
VB2005のTextBoxでカン...
-
EXCELの文字が指数になる
-
[VBA][Excel]クリップボードか...
-
CSVの定義
-
区切り文字をTABにしたい
-
VBAでtxtファイルを読み込む際...
-
メールのcsv添付ファイルの種類...
-
データにカンマが入ったCSVデー...
-
数字が全角、コンマなし
-
カンマ区切りの数字をCSVフ...
-
エクセルの区切り位置の設定方法
-
エクセル:桁区切り「カンマ」...
-
C#で、テキストボックスの入力...
-
パス区切りの文字について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
何故、日本は未だに数字を3桁...
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
マクロを使ってフォルダー内に...
-
カンマ区切りの数字をCSVフ...
-
桁区切りについて
-
CSVの定義
-
WORDで改ページすると時々グレ...
-
[VBA][Excel]クリップボードか...
-
データにカンマが入ったCSVデー...
-
カンマ区切り
-
3桁ごと?4桁ごと?コンマの...
-
VB2005のTextBoxでカン...
-
openoffice calcで#DIV/0! の...
-
ひとつの命令を複数行に記述
-
JPY ¥1,500.00は日本円でお幾ら?
-
パス区切りの文字について
-
VBAでtxtファイルを読み込む際...
-
C#で、テキストボックスの入力...
おすすめ情報