ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュのグラフを動かす方法

  • mixiチェック
  • このエントリーをはてなブックマークに追加
こんばんは夜

エクセルはほとんど使ったことがない初心者です。
いま、自動車の加速力シミュレーション(ゲーム的な)を作りたいと思っています。
馬力、トルク、レブリミット、車重、ギヤ比、タイヤサイズ等を入力して、スタートさせれば、
自動的にメーターが加速してくれるようなシミュレーションにしたいと思っています。

とりあえず今、手動(スピンボタン)で動くような状態です。

<video src="6113597:a6368fd6780427d50f48b6e24fd7f4d8">


<video src="6113606:9922ef0203eb705b3d6e8753c05b2c4e">


加速度等の計算式は大丈夫なんですが、「自動的に動かす」という方法がわかりません。


エクセル2003です。
今、NOW関数、(SECOND???) などで検索してみたところです。
良い方法をご存知でしたら、よろしくお願いしますわーい(嬉しい顔)車(セダン)ペンギン

コメント(10)

補足です。

「速度」のセルの値を、0.1秒ごとに自動的に更新するようなマクロが作れたらいいのかな?

とも考えています考えてる顔ペンギン
「vba wait」で検索。

http://scripting.cocolog-nifty.com/blog/2007/11/excel_vba_fb48.html
Excel VBAでミリ秒の時間を待つ。

Sheet1にコマンドボタンを貼り付けて試しました。
途中で操作を受け付けない等、欠点多いので
他の方法が有ればその方が良さそうです(汗)。

Option Explicit
Private Sub CommandButton1_Click()
Dim i As Integer
  Range("A1").Value = 0
For i = 1 To 30
  Range("A1").Value = Range("A1").Value + 1
  Application.Wait [now()+"00:00:00.1"]
Next
End Sub

A1を変化させる場合です。
ありがとうございます。

今まで、[now()+"00:00:00.01"] と入力して失敗していました。

さっそく試してみようと思います。

ちなみに現時点での状態です。 加速度は適当です。わーい(嬉しい顔)ペンギン

<video src="6202288:0a78c58097976a9780a1c5aefb640349">
動作中でも操作を受け付けるように改良してみました。

「エクセル 再計算 時計」で検索。

http://pc.nikkeibp.co.jp/article/NPC/20070614/274871/?P=9
キモは関数、VBAは数行「動くアナログ時計」を作ろう・Excel日曜工作室 ...

変化するセルはA1です。
↓sheet1のセルの式などです。

A1 : =(A2-A3)*60*60*10
A2 : =NOW()*24
A3 : (ワークエリア)

sheet1にコマンドボタンを二つ貼ります。

以下sheet1のコードです。

Option Explicit
Dim Gene As Integer

Private Sub CommandButton1_Click()
Calculate
Range("A3").Value = Range("A2").Value '<---(1)
Gene = 0 '<---(2)
Do
  Calculate
  DoEvents
  If Gene = 1 Then Exit Do
  If Range("A1").Value > 50 Then Exit Do
Loop
End Sub

Private Sub CommandButton2_Click()
  Gene = 1
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
  Gene = 1
End Sub

(sheet1のコードはここまで。)

(1)と(2)を入れ替えたらすぐ止まってしまいました。
なので環境によってはこれでも動かない可能性も有ります。
(1)とDoの間に「Application.Wait」でも入れておくべきでしょうか?

> 0.1秒ごとに自動的に更新

とは違ってしまいました ^^;
ありがとうございます。わーい(嬉しい顔)

明日か明後日にでも試してみます。

実は、メーターの文字盤や針は、「動くアナログ時計」を見て作りましたウッシッシ時計車(セダン)
> 実は、メーターの文字盤や針は、「動くアナログ時計」を見て作りました

それは気付きませんでした。結構面白そうですね ^^
VBか何かで作ったオブジェクトかと思っていましたよ。
(詳しい事は分かりませんが…)

余談:
「(1)と(2)を入れ替えたら…」と言うより
先に作ったのは入れ替えたものでした。
おかげさまで、AT車バージョンとMT車バージョンが完成しました。わーい(嬉しい顔)

結局、加速させるために書いたマクロは、


Sub 加速()

Dim i As Integer
For i = 0 To 1000
Range("E52").Value = Range("E52").Value + Range("L60").Value / 20 - Range("L61").Value
Application.Wait [now()+"00:00:00.05"]

DoEvents
Next
End Sub


だけで済みました。 
最初は2重3重の長くて複雑な計算を書いていたんですが、
動かしてみると、不安定で計算どおりに動いてくれなかったので、
シート上で出来ることはシート上で済ませたほうがいいと分かりました。

走行抵抗の再現に試行錯誤しましたが、
想像以上に実際の加速に近い状態ができたので、満足しています。車(セダン)

まずは、親の車のインスパイア(平成6年式)の加速です。

<video src="6273927:485a1837205fff82936fbf975e5f4293">


下へ続きます。ペンギン
そして、もう1台の愛車、リトルカブ(原付)の加速です。(笑)

<video src="6273936:88ad3df13d0a749a8cdfab3842f63d5b">


下へ続きます。ペンギン
さらに、アクセル開度を加減するボタンと、ブレーキボタンも付けたので、
普通の走りも再現してみました。

<video src="6273987:078ba7e42cb24ff12cc072fb496ac9da">



いま、バスやトラックやレーシングカーなど、様々な車でシミュレーションしているところです。
これから、CVT車バージョンとスクーターバージョンも作りますパソコン

最終目標である、「ペダル操作ができて走行距離と燃費が表示される」ようなシミュレーションまでは、
まだかなり遠いですが、少しずつバージョンアップさせる計画ですウッシッシペンギン
駄レスになりますが ^^

私も「自動で動かす」技を使って、何か面白そうな事・役立ちそうな事ができないか考えてみようと思います(例えば趣味の関連)。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。