- 締切済み
文字列連結演算子を使った繰り返し(ループ)について
Text1・Command1・Label1 と並んだBoxでText1に数字を入力しCommand1を押すと漢数字(一,二…)となるプログラムなのですが、一桁ずつ求めて行き最後に文字列連結演算子を使って求める場合はどのようにしたらよいのでしょうか? エラーが出るのでどこかが変なんだと思うのですが、何度みてもわからなくて。。。今途中の段階ですが当方がやったところまでを乗せておきますので。違うところや付け足すところなど指摘したり教えていただけたらと思っています。よろしくお願いします。 Private Sub Command2_Click() Dim a As Integer Dim b As String a = Val(Text1.Text) For x = 1 To 5 If a = 1 Then Label1.Caption = "一" ElseIf a = 2 Then Label1.Caption = "二" ElseIf a = 3 Then Label1.Caption = "三" ElseIf a = 4 Then Label1.Caption = "四" ElseIf a = 5 Then Label1.Caption = "五" ElseIf a = 6 Then Label1.Caption = "六" ElseIf a = 7 Then Label1.Caption = "七" ElseIf a = 8 Then Label1.Caption = "八" ElseIf a = 9 Then Label1.Caption = "九" Else Label1.Caption = "〇" sText1 = "1" & "2" & "3" & "4" & "5" & "6" & "7" & "8" & "9" sLabel1 = "一" & "二" & "三" & "四" & "五" & "六" & "七" & "八" & "九" End If End Sub
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hanka2
- ベストアンサー率38% (15/39)
先日の関数ではダメですか? と言うより、ここで添削を求めてもダメですよ。 お仕事なんでしょ? この問題を出した上司の方は「正解」が欲しいのではなく「答えを導く過程」を求めてます。 何故なら貴方が一人前のプログラマとなって会社の戦力になって貰いたいからです。 おそらく上司は「インターネットで調べても良い」と仰ったのでしょうが、「インターネットで答えを教えて貰っても良い」とは言ってないでしょ? ネットは便利です。情報が色々乗ってますからね。更には質問サイトを利用すれば教えてくれる人だっている。 ネットで情報検索することは大いに結構。でも答えまで頼らないこと。貴方が真に頼るべき人は会社の上司です。 今回出された問題のどこが分らないのか良く整理してから上司に聞いてみましょう。
- NNori
- ベストアンサー率22% (377/1669)
うーん、ちょっと添削のしようがないなぁ。 For Next に何のコンセプトも感じられませんねぇ。 この for x = 1 to 5 というのは、なにをやりたいのですか? 入力が5桁であるという前提があるのでしょうか? それならば、ヒントを差し上げます。 Dim s as string dim x as string for x = 1 to 5 s = mid(text1.text,x,1) === ここで s は x 桁めの数字(文字列)が入ってます next 先は長そうですね。
補足
for x = 1 to 5は入力5桁という感じで書いたのですが… Visual Basicをはじめて扱っているので何もわからない中本を頼りに作っているのでコンセプトなど一切考えていないのでそうなのかもしれません… 先は本当に長そうです;
- S-Fuji
- ベストアンサー率36% (592/1624)
数字を入れて漢数字に変換するのでしょうか?。 この方法が良いかどうかは別にして、 For文にたいするNextが見あたりません。
補足
Nextがないですね、指摘ありがとうございます。 Nextを入れて再度やりましたが変数の定義が出来てませんと言われました。
補足
先日の関数はあれはあれでよかったみたいですが、今度はこのほうほうでと言われました。 仕事先からはネットで調べるなり誰かに聞くなりしてください。会社ではそんなには教えませんと言われました。なのでこうして質問させていただいていした。