| 
    
     |  | ▼ichinose さん: ありがとうございました、うまくいきました.
 作ったのは、
 >    bit(桁 - g0 + 1) = 0
 >    If myvalue And 2 ^ (g0 - 1) Then bit(桁 - g0 + 1) = 1
 の部分がわからず困っていたのです.後はだいたい同じなのですが・・.
 こんなにシンプルに書けるとは、驚きです.
 お礼が遅れてしまいましたが、本当にありがとうございました.
 
 
 >▼MAK さん:
 >こんばんは。
 >
 >
 >>再帰計算等試しましたが、難しくかなり手づまっております.
 >試したコードも見せてください。
 >0と1の並びなら、二進数ですよね?
 >下記は、15桁の例です。桁数が、17以上だとシートに表示するのは無理ですけど(Excel2002では)。
 >
 >'=============================================================
 >Sub test()
 >  Const 桁 = 15
 >  Dim g1 As Long
 >  Dim g0 As Long
 >  g1 = 1
 >  For g0 = 0 To 2 ^ 桁 - 1
 >    Range(Cells(g1, 1), Cells(g1, 桁)).Value = decbin(g0, 桁)
 >    g1 = g1 + 1
 >  Next
 >End Sub
 >
 >'================================================================
 >Function decbin(myvalue As Long, 桁 As Long) As Variant
 >'30桁ぐらいなら、これでいけます
 >  Dim g0 As Long
 >  ReDim bit(1 To 桁) As Long
 >  For g0 = 1 To 桁
 >    bit(桁 - g0 + 1) = 0
 >    If myvalue And 2 ^ (g0 - 1) Then bit(桁 - g0 + 1) = 1
 >  Next
 >  decbin = bit()
 >  Erase bit()
 >End Function
 
 
 |  |