いつも勉強させて頂いております。
現在プログラムを勉強しており、引数や戻り値について学んでいます。
【実現したい処理】
・function str2()のfor毎にstr2の値をsub color()に渡したい
【起こっていること】
・function str2()の処理のforの最後の繰り返し時の値がsub color()に渡してしまう。
どうしてそうなっているのかというのは、デバッグのステップインで確認し、
理解していますが、どうすれば正しい処理ができるかがわかりません。
別の列に一度出力すれば問題なく、処理できることはわかっていますが、
値の渡し方の勉強をしたいので、宜しくお願い致します。
name | color |
---|---|
りんご | 赤 |
みかん | 黄 |
ぶどう | 紫 |
なし | 茶 |
オレンジ | 橙 |
スイカ | 緑 |
きゅうり | 緑 |
いちご | 赤 |
VBA
1Sub color() 2 Dim max_row As String 3 Dim i As Integer 4 5 max_row = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row 6 7 For i = 2 To max_row 8 Dim color_code As String 9 10 color_code = str2() 11 MsgBox str2 12 13 14 Next i 15End Sub 16Function str2() As String 17 Dim max_row As String 18 Dim i As Integer 19 20 max_row = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row 21 22 For i = 2 To max_row 23 Dim str1 As String 24 25 26 27 str1 = Sheets("Sheet1").Cells(i, 2) 28 29 30 Select Case str1 31 Case "赤" 32 str2 = "red" 33 Case "黄" 34 str2 = "yellow" 35 Case "紫" 36 str2 = "purple" 37 Case "茶" 38 str2 = "brown" 39 Case "オレンジ" 40 str2 = "orange" 41 Case "緑" 42 str2 = "green" 43 Case Else 44 str2 = "不明" 45 End Select 46 47 48 49 Next i 50End Function
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/31 06:45