• 締切済み

■Excel VBA グローバルな書き方■

Sub 跳ね返る() Dim time1 As Integer, time As Integer Dim X As Integer, Y As Integer Dim hyouji As String, yoko As String, tate As String hyouji = "●" X = 1 Y = 1 yoko = "右" tate = "上" Do Cells(X, Y).Value = hyouji '★ For time1 = 0 To 1000 For time2 = 0 To 1000 Next Next Cells(X, Y).Value = hyouji For time1 = 0 To 1000 For time2 = 0 To 1000 Next Next          '★ If yoko = "右" Then Y = Y + 1 Else Y = Y - 1 End If If Y = 30 Then yoko = "左" ElseIf Y = 1 Then yoko = "右" End If If tate = "上" Then X = X + 1 Else X = X - 1 End If If X = 20 Then tate = "下" ElseIf X = 1 Then tate = "上" End If Loop End Sub ************************************ 上記のプログラムを Dim a() EndSub Dim b() EndSub Dim c() endSub Sub main() a b c EndSub のような、mainを動かせばabcも動く グローバルな(ローカルでもいいのですが) プログラムにするにはどうしたらいいですか? ★印から★印までの間の動作が同じような動作で 二つあるので、それを一つにまとめ 尚且つ、表示と時間稼ぎと表示削除の 3つの動作を分けた形にしたいです。 質問が下手で申し訳ありません…;;

みんなの回答

回答No.1

こういうことでしょうか? Dim X As Integer, Y As Integer Dim Yoko As String, Tate As String Sub 座標移動() End Sub Sub 描画(ByVal 文字 As String) End Sub Sub 待機() End Sub Sub Main() X = 1: Y = 1 Yoko = "右": Tate = "上" Do 描画 "●" 待機() 描画 "" 待機() 座標移動() Loop End Sub 中身は既存コードをうまく使って埋めてください。 的外れならスルーで・・・

moguraaaaa
質問者

お礼

的中です! ありがとうございます!! でも私がプログラムをかくと 上手く動かないという…;;