Excel VBA質問箱 IV

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

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


19069 / 76738 ←次へ | 前へ→

【63106】Re:任意の数だけ、0か1をわりあてる
お礼  MAK  - 09/10/8(木) 22:07 -

引用なし
パスワード
   ▼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

1 hits

【63087】任意の数だけ、0か1をわりあてる MAK 09/10/6(火) 14:20 質問
【63088】Re:任意の数だけ、0か1をわりあてる ichinose 09/10/6(火) 19:50 発言
【63106】Re:任意の数だけ、0か1をわりあてる MAK 09/10/8(木) 22:07 お礼

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