dポイントプレゼントキャンペーン実施中!

私は、エクセルVBA 超初心者のsustainedと言います。
エクセルワークシート上で、
A2=1 A3=4 A4=7 A5=0 A6=3 A7=6 A8=9 A9=2 A10=5 A11=8と予め入力されている状態で、
A1=3と入力するとA2=3 A3=6 A4=9 A5=2 A6=5 A7=8 A8=1 A9=4 A10=7 A11=0

となる様に循環(ソート?)する方法がわからないのですが?
本当に困っています。

補足

 1、4、7、0、3、6、9、2、5、8 この数並びのまま A1=3と入力する  | 
        |
 A1=3なので3、6、9、2、5、8、1、4、7、0となる。(A2~A11)         

    ,A1=5と入力すると5、8、1、4、7、0、3、6、9、2となる。(A2~A11)

つまり、1、4、7、0、3、6、9、2、5、8は、10角形の頂点に配置させているとイメージしてくれれば

わかり易いと思います。ナンバースの風車と同様に

A 回答 (3件)

Private Sub CommandButton1_Click()


  Dim I As Integer
  Dim T As Integer
  
  Do
    T = Cells(2, 1)
    For I = 2 To 10
      Cells(I, 1) = Cells(I + 1, 1)
    Next I
    Cells(11, 1) = T
    If Cells(2, 1) = Cells(1, 1) Then
      Exit Do
    End If
  Loop Until (0)
End Sub
    • good
    • 0
この回答へのお礼

有難うございます。私は、プログラミング初心者でLoop文が解からない状態でしたが、なんとなく理解できた様な気がします。このマクロ文を参考にしてLoop文の理解を深めたいと思います。本当に有難うございました。

お礼日時:2006/02/21 20:40

A2


=A1
A3
=MOD(A2+3,10)
A3以降下にコピー
    • good
    • 0
この回答へのお礼

有難うございます。こんなシンプルなマクロ文で巧くいけるなんて!有難うございました。

お礼日時:2006/02/21 20:46

それって、


隣のセルの値に3を足して、
二桁になったら10で割った余りを、
一桁のままならそのままを、
出力すればよいだけでは?
あとはそれの繰り返しね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!