本日 80 人 - 昨日 3 人 - 累計 37356 人

エクセルでもゲーム?

  1. HOME >
  2. エクセルでもゲーム?
なめちゃあかんでぇええええええ
ただ計算する表だと思ったら、意外とレベルたかいものなんだぜぇ
PC持ってるけどネットつないでないという方はエクセル等でべんきょうしてみてはいかがでしょうか(基本こういったブログみるのはPCからでしょうがw)

かといってここで自分が載せられるレベルもないというのが現状デス
ここに記載するのはマクロの応用版でちょっとした遊び感覚って感じのものとなっています


エクセルの開発タブにVisualBasicというものがあるのです!
(それ以前にマクロというものがありますね)

えっ?開発タブがない?
そしたらエクセルのオプションの基本設定に開発タブを表示にチェックをつけると開発タブが現れます。

いろいろとはしょっっちゃいます

ユーザフォーム.png
三角定規、定規、表のボタンを押してユーザーフォームを押す
そしたらなにもないグリッドのものが出てきます


イメージ.png
トンカチの作業マークを押したら、おそらくいろんなマークのものが出てきたと思われます、
コマンドボタンとテキストボックスを使うので画像のボタンで作成します。


※プロパティ
オブジェクト名はむやみに変えないことをお勧めします。
宣言の時にも変えないといけなくなるからです

表示の名前を変えたいときはCaptionのなかを変えれば変更可能です

'例
Dim a As Variant
Dim suiryou As Long
Dim score As Long
'簡単に説明すると何も入ってない専用の容器を用意している
'宣言の外に書けばいちいち宣言しなくても共有して使えます。一応Privateなどは省略可能なので世捨人は省略してます

Private Sub Form_Load()
suiryou = 10 '水量という容器に10入れています
score = 0 'スコアという容器には0で初期化しています

Me.水量 = suiryou '水量というテキストに容器を表示
Me.スコア = score

Me.CommandButton1.Enabled = True
Me.CommandButton2.Enabled = False
'ボタンの有効化
End Sub

Private Sub CommandButton1_Click()
a = Int((1 - 0   1) * Rnd   0)
'最大1と最少0をRnd、ランダムでaという容器に入れている
Me.水量 = suiryou
Me.スコア = score

      If a = 0 Then
      suiryou = suiryou - 1
      score = score - 10
     'aに0が入っていたら水量とスコアが減る
      Else: a = 1
      suiryou = suiryou   1
      score = score   20
   'その逆
End If

If suiryou < 0 Then
MsgBox "終了"
Me.CommandButton1.Enabled = False
Me.CommandButton2.Enabled = True
ElseIf suiryou = 32767 Then
MsgBox "終了"
Me.CommandButton1.Enabled = False
Me.CommandButton2.Enabled = True
'0以下もしくは32767のときに終了し、有効だったボタンが無効
End If
End Sub


Private Sub CommandButton2_Click()
suiryou = 10
score = 0

Me.水量 = suiryou
Me.スコア = score

Me.CommandButton1.Enabled = True
Me.CommandButton2.Enabled = False
'無効だったボタンが有効になった時押したら初期化
End Sub


kaihatuyou.png

デザインモードにして挿入のActiveXでボタンをセルのどこでもいいので貼り付けて、クリックしてVBAで作成したものを表示させるプログラムを作成します。

'例です。
sub title() 'subやFunctionで宣言を行う
UserForm1.Show フォームのオブジェクト名.showで表示
end sub '最後は必ずend~



こんな感じのつくってみたら超ショボいと感じてしまうでしょうが
世捨人はこういう専門学校に通っていたが、まったくもって身についていないので復習がてらつまらないものを掲載したいと思います。