[[20170710132939]] 『vbaの繰り返し処理において変数をペアで』(るーしー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『vbaの繰り返し処理において変数をペアで』(るーしー)

はじめまして
質問失礼いたします

vbaの繰り返し処理マクロを作りたいのですが
その際に文字列の2変数(i,j)をつかって

1回目の処理
i→あ
j→か
2回めの処理
i→い
j→き
3回めの処理
i→う
j→く
・・・

どのように変数を指定?すればよいのでしょうか、、

よろしくお願いいたします

< 使用 Excel:Excel2010、使用 OS:Windows8 >


んー、よく判らないのですが、こういう事がしたいのでしょうか?

 Sub test()
    Dim i As String
    Dim j As String
    Dim a As Long

    For a = 0 To 2
        i = Array("あ", "い", "う")(a)
        j = Array("か", "き", "く")(a)
        MsgBox i & " " & j, , a + 1
    Next a
 End Sub
(???) 2017/07/10(月) 13:48

 衝突しました。
 やってる内容は同じです。

 状況によって変わると思いますが、私なら以下のようにすることが多いです。

    Sub るーしー()
        '■変数の宣言
        Dim aryX As Variant '1つ目の文字の配列を入れる変数
        Dim aryY As Variant '2つ目の文字の配列を入れる変数
        Dim i    As Long    '繰り返し処理を行う変数

        '■配列を作る
        aryX = Array("あ", "い", "う", "え", "お") '1つ目の配列を作成
        aryY = Array("か", "き", "く", "け", "こ") '2つ目の配列を作成

        '■繰り返し処理
        '  変数「i」を0〜配列のはずだけ1ずつ加算し、各配列の引数とする
        For i = 0 To UBound(aryX)
            MsgBox "aryX(" & i & ")=" & aryX(i) & vbNewLine & _
                   "aryY(" & i & ")=" & aryY(i)
        Next i
    End Sub

 冒頭にも書きましたが状況もそうですが、人によっても千差万別で、これが正解というものはございません。
 手探りして、失敗して、たくさん質問してください。
(稲葉) 2017/07/10(月) 13:54

その際に文字列の2変数(i,j)をつかって

回数も数えるので最低限3つの変数が必要と思います。

Sub test()

    Dim i As String
    Dim j As String
    Dim k As Long

    i = "あいうえお"
    j = "かきくけこ"

    For k = 1 To Len(i)
        MsgBox "i(" & k & "文字目) : " & Mid(i, k, 1) & vbLf & _
               "j(" & k & "文字目) : " & Mid(j, k, 1)
    Next
End Sub
(まっつわん) 2017/07/10(月) 16:30

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.