VBAで男30、女50などと5人分入力して、
VBAで男30、女50などと5人分入力して、 男子の合計、女子の合計、男女の合計を出したいんですけど、このプログラムだったら3つとも0になっちゃうんですが、どこをどう直したらいいか教えていただきたいです。 Ifのところで、前に打ったInputBoxでの男or女◯◯(←点数)の男か女かを抽出しないといけないんですが、それのプログラムも教えていただきたいです。
Visual Basic | プログラミング・52閲覧
ベストアンサー
インプットボックスに入力した値が全角文字なのでは? Val関数は数値化に適さないケースが生じます。 Sub test() Dim Data As String Dim D_key As Long Data = "男100" D_key = Val(Right(Data, Len(Data) - 1)) MsgBox D_key End Sub 上記コードを実行すると、メッセージボックスに0と表示されます。 Data = "男100" ↑100が全角数字になっているため0になります。 ーーー 下記のように、CLng関数を使用してください。 D_key = CLng(Right(Data, Len(Data) - 1)) ※CLng(Right(Data, Len(Data) - 1)) は、下記のようにした方がいいと思います。 CLng(Mid(Data, 2)) ーーーーー S_key は、下記のように修正してください。 元 S_key = D_key + J_key + S_key 修正 S_key = D_key + J_key
>Ifのところで、前に打ったInputBoxでの男or女◯◯(←点数)の男か女かを抽出しないといけないんですが、それのプログラムも教えていただきたいです。 ↑よくわかりません。どのように抽出するのですか?
質問者からのお礼コメント
ありがとうございます!!! 半角にしたら出来ました。 男女の合計も正しく出来ました。 お手数お掛けして申し訳ありませんでした。 本当にありがとうございました。
お礼日時:5/27 16:30