解決できる方助言してください

このQ&Aのポイント
  • 矢印の所のようにしたら、subまたはfunctionが定義されていませんって出ます。
  • いくら変えてみてもだめです。
  • 解決できる方助言してください。お願いします。
回答を見る
  • ベストアンサー

矢印の所のようにしたら。。。

矢印の所のようにしたら、subまたはfunctionが定義されていませんって出ます。いくら変えてみてもだめです。解決できる方助言してください。お願いします。 Const maxMONDAI = 5 '問題の最大数格納場所 Dim MONDAI_NOKORI '残り問題数格納場所 Dim MONDAI_NO As Integer '現在の問題番号格納場所 Dim SEIKAI As Integer '正解した問題数格納場所 Function GETMONDAI_NO() As Integer Randomize '以下の式で「1-5」までの整数を作る。 GETMONDAI_NO = Int(Rnd * maxMONDAI) + 1 End Function '初期設定 Sub initialize() MONDAI_NOKORI = maxMONDAI '残り問題数を初期値に戻す。 End Sub '終了ボタンを押した時の動き Private Sub cmdEND_Click() Dim END_BT As Integer END_BT = MsgBox("終了しますか?", vbYesNo + vbQuestion, "終了の確認") If END_BT = vbYes Then End End If End Sub '開始ボタンを押した時の動き Private Sub cmdSTART_Click() Call initialize '初期設定呼び出し MONDAI_NO = GETMONDAI_NO '現在の問題番号を得る。 txtRANSU.Text = Str(GETMONDAI_NO) '乱数の表示デバック用 txtNOKORI.Text = Str(MONDAI_NOKORI) '残り問題数の表示 imgHYOUJI.Picture = Pic2.Picture '←ここをimgHYOUJI.picture=pic(MONDAI_NO).pictureにしたい。 End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

>imgHYOUJI.Picture = Pic2.Picture '←ここをimgHYOUJI.picture=pic(MONDAI_NO).pictureにしたい。 Pic2はPictureボックスですよね? pic(MONDAI_NO)のpicとは?PictureBoxですか?変数ですか? もしピクチャボックスであるならばpicと言う名前でコントロール配列である必要があります。 プロパティのところのIndex値には数値が入ってますか? 再度、情報をください。

atusyan
質問者

補足

Pic2はPictureボックスですよね? >そうです。ピクチャーボックスです。 プロパティのところのIndex値には数値が入ってますか? >数字が入っていませんでした。数字を入れたら動くようになりました。 適切なお返事ありがとうございました。これからもよろしくお願いいたします。

関連するQ&A

  • VB初心者です。

    Private Function mondai_yomikomi() As Integer '問題読み込み処理 int_seikai = 1 l_mondai.Caption = "問題" + lng_mondai End Function を Call mondai_yomikomiで呼び出すことが 出来ないんですが・・・ 何故ですかね??? どうやって呼び出したら良いのでしょうか?

  • 階乗のマクロ

    階乗のマクロを作りたいのですが、全然できません。どこを変えたらいいのか教えて下さい。ちなみに今こうなっています。 ------------------------------------------------ Sub exam5() Dim intA As Integer Dim intB As Integer Dim intC As Integer intA = Application.InputBox("数値を入力してください。") intB = (intA - 1) intC = (intA) * (intB) MsgBox (intC) End Sub Function kaijou(intA As Integer, intB As Integer) As Integer kaijou = intA * intB End Function ------------------------------------------------ どうかお願いします。

  • 【vb.net】クラス化について

    大学で以下のような練習問題を頂きました。 ----- Public Sub test()  Dim a As b = New c  Dim i As Integer = 1  a.disp(i) End Sub 問:この時のbとcを実装せよ。 ----- Public Class c  Public Function disp(ByVal i As Integer) As String   return "iは" & i & "です"  End Function End Class までは書いてみたのですが、b の扱いがどうもわかりません。 どなたか教えていただけませんでしょうか。

  • 配列

    エクセルvbaなのですが Sub test() ' 配列 Dim arr() As Integer= {0, 1, 2, 3, 4, 5} ' 抜き出した要素を格納するための変数 Dim i As Integer ' すべての要素について繰り返す For Each i In arr Console.WriteLine (i) Next End Sub これって何でエラーになるのでしょう? Dim arr() As Integer= {0, 1, 2, 3, 4, 5} でエラーになりますが、なぜだかわかりません。

  • このプログラムの問題点を教えてください。

    Public Cass test1 Private mBool As Boolean <Browsable(False)> _ Public Property Bool() As Boolean Get Return mBool End Get Set(ByVal value As Boolean) mBool = value End Set End Property Private GetNo(ByVal No As Integer, ByVal count As Integer) As Integer Dim intNewNo As Integer = 0 If (No + count) > 99999 Then mBool = True Else mBool = False inNewNo = No + count End If Return intNewNo End Function ※このプロパティを別のクラスで使用しました。 Public Class test2 Public sub Handan() Dim Han As test1 = New test1 If Han.Bool = True Then MsgBox("Yes") Else MsgBox("No") End If End Sub 多少端折りましたが、以上のようなプログラムを書きました。 Getnoメソッドは、test2クラスの別のメソッドで使われていたのですが、 Getnoの値によって処理を変えたかっただめ、test1にプロパティを作って 判断できるようにしました。 このコードをレビューしてもらったところ、なにか問題があったようなのですが (プロパティの意味がないとか、そういう趣旨の) レビューした本人と連絡がとれないため、どこがおかしいのかわからず困っています。 このBoolプロパティの使い方、問題がありましたら、教えてください。

  • 再帰処理を用いて階乗を求めるプログラム

    こんにちは 再帰処理を用いて階乗を求めるプログラムについて の質問です。 以下のように考えたのですが、 まったく駄目なようです。 どこをどのように直したらいいのか いまいちわかりません。 どなたか教えて下さい。お願いします。 Private Sub CommandButton1_Click() Dim n As Integer 階乗する数 Dim f As Integer 階乗する数の階乗した値 n = Val(TextBox1)   Do While f > 1 KEISAN n, f Loop TextBox2 = f End Function Function KEISAN(n, f) If n <= 1 Then f = 1 Else f = n * f(n - 1) End If End Function

  • VB6.0のクラスで、自分自身のインスタンスを作成するメリット

    クラスのメソッドで、自分自身のインスタンスを作成している、コードをよく見かけます。 どんなメリットがるのでしょうか? 簡単に、クラスファイルのコードを書きました。 【A.cls】 Option Explicit Dim pstrID As Long Dim pstrName As String Public Function fncCreate() As Object     Set fncCreate = New clsA  '★自分自身のインスタンスを作成する End Function Public Function fncID() As Boolean     pstrName = "ID" End Function Public Function fncName() As Boolean     pstrName = "STRING" End Function Private Sub Class_Initialize()     pstrID = 0     pstrName = "" End Sub

  • VBのfunctionの引数について

    2の Double型と 3の Single型のように送る側と受け取る側の変数の型が 違ってもよいのでしょうか?プログラムはそのまま実行できたのですが・・・・。 Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim koku As Integer Dim san As Integer Dim rika As Integer Dim ave As Double------------------------------------1 koku = Val(TextBox1.Text) san = Val(TextBox2.Text) rika = Val(TextBox3.Text) ave = (koku + san + rika) / 3 Label5.Text = Round(ave)-------------------------------2 End Sub Private Function Round(ByVal sngvalue As Single-----3) As Integer Dim intvalue As Integer intvalue = Int(sngvalue + 0.5) Return intvalue End Function End Class

  • 休日を除いた日数の計算

    今個人的に、エクセルのVBAを勉強しているものです。 以下のソースを考えていづまっています。 よろしかったらいいアドバイスお願いします。 Sub 実際の日数() Dim POWPOS As Integer '休日の情報が入っているセル縦 Dim COLPOS As Integer '休日の情報が入っているセル横 Dim POWPOS2 As Integer ’日数が入っているセル縦 Dim COLPOS2 As Integer ’日数が入っているセル横 Dim NUM As Integer Dim NO As Integer Dim FLG As String '休日であればYが入っています Dim KIKAN As Integer Set WS = Worksheets("Sheet1") '計算 POWPOS = 1 COLPOS = 2 POWPOS2 = 1 COLPOS2 = 3 KIKAN = 0 FLG = WS.Cells(POWPOS, COLPOS) 'Y NO = WS.Cells(POWPOS2, COLPOS2) '30 Do If WS.Cells(POWPOS, COLPOS) = Y Then KIKAN = KIKAN + 1 Else KIKAN = KIKAN + 1 NO = NO - 1 End If POWPOS = POWPOS + 1 Loop Until NO = 0 COLPOS2 = COLPOS2 + 1 WS.Cells(POWPOS2, COLPOS2) = KIKAN End Sub

  • vb.net変数に入れた文字列でメソッドを実行する

    こんにちわ!! Vb.netで文字列を格納した変数を使ってメソッドを呼び出したいのですが、可能でしょうか? サンプル 'メインルーチン public sub test() Dim aaa as string ="testfunction" Dim num as integer=0 '↓の様にメソッドを呼び出したい Dim bbb = aaa(num) Msgbox(bbb ,vbinformation) aaa="testfunction2" bbb=aaa(num) Msgbox(bbb,vbinformation) Endsub 'メソッド1 Private function testfunction1(num) Return num+1 End function 'メソッド2 Private function testfunction2(num) Return num+2 End function 上記はあくまでサンプルです。 実際はメソッド数が多く、aaaにいれる名前も別で取得するので、stringになります。 ですので、bbb=aaaはforで回します。 このようなことは可能でしょうか? やりかたもしくは解決方法があればお願いします。

専門家に質問してみよう