Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12975 / 76738 ←次へ | 前へ→

【69274】Re:VBAプログラミング
発言  SS  - 11/6/17(金) 9:49 -

引用なし
パスワード
   ▼文哉 さん:

こんにちは、面白そうなので作ってみました。
自分の確認し易さで処理を作ってありますので
質問の内容と違う点があるかと思いますが
参考になればと思います。

Sub randomwalk()

  Dim r As Integer, dr As Integer
  Dim c As Integer, dc As Integer
  Dim n As Integer
  Dim i As Long
  Randomize
  With ActiveSheet
    .Cells.Interior.ColorIndex = xlNone
    r = 10
    c = 10
    .Cells(r, c).Interior.ColorIndex = 3
    For i = 1 To 50
      '乱数発生させる
      n = Int(Rnd * 9) + 1
      '乱数から動き量を導く
      Select Case n
        Case 1: dr = -1: dc = 1
        Case 2: dr = 0: dc = 1
        Case 3: dr = 1: dc = 1
        Case 4: dr = 1: dc = 0
        Case 5: dr = 1: dc = -1
        Case 6: dr = 0: dc = -1
        Case 7: dr = -1: dc = -1
        Case 8: dr = -1: dc = 0
        Case 9: dr = 0: dc = 0
      End Select
      '移動可能か判断
      If r + dr >= 1 Or r + dr <= .Rows.Count And _
          c + dc >= 1 Or c + dc <= .Columns.Count Then
        c = c + dc
        r = r + dr
      End If
      '移動→色塗りで表現
      .Cells(r, c).Interior.ColorIndex = i Mod 10 + 3
      '時間調整0.1秒
      Application.Wait [ Now() + "00:00:00.1"]
    Next i
  End With
End Sub

>VBAでランダムウォークというのをプログラミングしたいのですが、
>(10,10)のセルを原点に右上のセルに1、右のセルに2、右下のセルに3、下のセルに4、左下のセルに5、左のセルに6、左上のセルに7、上のセルに8、原点のセルを9と乱数をふるというやり方でやっていきたいのですがプログラム初心者で分からず苦戦しております。
>
>
>Sub randomwalk()
>
>dim r as integer
>dim c as integer
>
>activesheet.cells.select
>r=10
>c=10
>cells(r,c).select
>randomize    以降の部分です。
>
>言葉でうまく説明できずに質問するのは大変申し訳ないのですが、よろしくお願いいたします。酔っ払いがふらふら歩いていく感じをどんどん黒に塗りつぶされていくセルで表現していきたいのです。

2 hits

【69270】VBAプログラミング 文哉 11/6/17(金) 6:07 質問
【69271】Re:VBAプログラミング UO3 11/6/17(金) 6:41 発言
【69273】Re:VBAプログラミング Jaka 11/6/17(金) 9:45 発言
【69278】あ〜、なんとなく解った。 Jaka 11/6/17(金) 12:54 発言
【69274】Re:VBAプログラミング SS 11/6/17(金) 9:49 発言
【69279】Re:VBAプログラミング SS 11/6/17(金) 13:07 発言
【69276】Re:VBAプログラミング UO3 11/6/17(金) 11:45 発言
【69277】Re:VBAプログラミング UO3 11/6/17(金) 12:29 発言
【69280】Re:VBAプログラミング UO3 11/6/17(金) 16:35 発言

12975 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free