Excel VBA質問箱 IV

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

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


29814 / 76738 ←次へ | 前へ→

【52198】Re:らせん状(うず状)に数字を並べていく
発言  ichinose  - 07/10/29(月) 19:39 -

引用なし
パスワード
   ▼やまだ さん:
>1
>2       
>3         9 2 3
>4  ⇒      8 1 4
>5         7 6 5
>6        
>7        
>8
>9
>
>簡単に言えば、こんな感じです。

あっ、そういうことですか?

即興なので、イマイチ気に入らないのですが・・・。
'===========================================================
Sub main()
  Dim g0 As Long
  Dim stt As Long
  Dim rng As Range
  Set rng = Range("g20")
  stt = 1
  For g0 = 1 To 20
    rng.Value = g0
    Set rng = get_rng(rng, stt)
    Next
End Sub
'===========================================================
Function get_rng(ByVal rng, stt As Long) As Range
  Dim mx
  ReDim cnt(1 To 4) As Long
  ReDim chk(1 To 4) As Range
  ReDim locate(1 To 4) As Long
  Dim c As Long
  Dim g0 As Long
  Dim g1 As Long
  Dim g2 As Long
  For g0 = stt To (stt + 3)
  Select Case g0 Mod 4
      Case 1
       Set chk(c + 1) = rng.Offset(-1, 0)
       locate(c + 1) = 1
      Case 2
       Set chk(c + 1) = rng.Offset(0, 1)
       locate(c + 1) = 2
      Case 3
       Set chk(c + 1) = rng.Offset(1, 0)
       locate(c + 1) = 3
      Case 0
       Set chk(c + 1) = rng.Offset(0, -1)
       locate(c + 1) = 4
      End Select
    If chk(c + 1).Value = "" Then
      For g1 = -1 To 1
       For g2 = -1 To 1
         If g1 <> 0 Or g2 <> 0 Then
          If chk(c + 1).Offset(g1, g2).Value <> "" Then
            cnt(c + 1) = cnt(c + 1) + 1
            End If
          End If
         Next
       Next
      End If
    c = c + 1
    Next
  With Application
    g0 = .Match(.Max(cnt()), cnt(), 0)
    End With
  Set get_rng = chk(g0)
  stt = locate(g0)
End Function


>ちなみに、エクセルファイルってここに載せれるんですか?
ここは、出来ないですね!!
でも、だから勉強になるんですよ!!
ここに自分が知りたいことや知っていることを記述するのは大変なことです。

その大変なことをここでやろうとするから、上達するんです。

と、私は思っています。
0 hits

【52188】らせん状(うず状)に数字を並べていく やまだ 07/10/29(月) 12:59 質問
【52189】Re:らせん状(うず状)に数字を並べていく ハチ 07/10/29(月) 13:10 発言
【52190】Re:らせん状(うず状)に数字を並べていく とおりすがり 07/10/29(月) 13:10 発言
【52191】Re:らせん状(うず状)に数字を並べていく やまだ 07/10/29(月) 13:58 質問
【52192】Re:らせん状(うず状)に数字を並べていく ichinose 07/10/29(月) 14:24 発言
【52196】Re:らせん状(うず状)に数字を並べていく 駿 07/10/29(月) 15:04 お礼
【52193】Re:らせん状(うず状)に数字を並べていく やまだ 07/10/29(月) 14:46 発言
【52194】Re:らせん状(うず状)に数字を並べていく じゅんじゅん 07/10/29(月) 14:49 発言
【52197】Re:らせん状(うず状)に数字を並べていく やまだ 07/10/29(月) 15:21 質問
【52198】Re:らせん状(うず状)に数字を並べていく ichinose 07/10/29(月) 19:39 発言
【52199】Re:らせん状(うず状)に数字を並べていく やまだ 07/10/29(月) 19:46 お礼
【52216】Re:らせん状(うず状)に数字を並べていく Jaka 07/10/31(水) 16:03 発言
【52223】Re:らせん状(うず状)に数字を並べていく 小僧 07/11/1(木) 10:50 回答
【52224】数学なんて嫌いだ。 Jaka 07/11/1(木) 11:29 発言
【52329】Re:らせん状(うず状)に数字を並べていく kon 07/11/9(金) 2:11 質問
【52332】Re:らせん状(うず状)に数字を並べていく ichinose 07/11/9(金) 7:46 発言
【52349】Re:らせん状(うず状)に数字を並べていく ichinose 07/11/10(土) 8:39 発言

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