こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

■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つの動作を分けた形にしたいです。
質問が下手で申し訳ありません…;;

投稿日時 - 2009-08-04 23:31:58

QNo.5182493

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.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

中身は既存コードをうまく使って埋めてください。
的外れならスルーで・・・

投稿日時 - 2009-08-04 23:47:22

お礼

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

投稿日時 - 2009-08-05 06:42:41

あなたにオススメの質問