|
▼あいんすと さん、ちゃっぴさん、こんばんは。
ちゃっぴさんが言うとおり、もっと簡単に判断が出来るとおもいますが・・。
Msgbox 5 and 2^2
Msgbox 8 and 2^2
この2行の結果を見て考えてみて下さい。
ですが、あいんすとさんの考え方で解を出してからでも良いですよね?
>指定したBitが1または0かを判断するマクロを
>作成したのですが、うまくいきません。
>
>ちなみに以下の様に作成しました。
>
>☆S_Bit1,S_Bit2は0〜7の整数(任意のBit)
> Flag1,Flag2は 0 か 1
> D_Label1,D_Label2は任意の項目の行番号
>以上の変数については他で既に定義されています。
>
>※2つの項目が空白になるセルの列番号は同じです。
>※Functionで10進数から8桁の2進数の変換出来てます。(Dec2Bin)
見せていただいたコードだと
dec1に1が入っていた場合、
Dec2Bin(dec1)は、1ですよね?
MsgBox dec2bin(1)
MsgBox dec2bin(1, 8)
この違いでしょうか?
>
>'------------------------------------------------------
>i = 2
>Do Until Cells(i,Label1) = ""
>'10進数から2進数(8桁)に変換
>'フラグ1
> dec1 = Cells(i,D_Label1)
> Data1 = Dec2Bin(dec1)
>'フラグ2
> dec2 = Cells(i,D_Label2)
> Data2 = Dec2Bin(dec2)
>
>If Mid(Data1,(8-S_Bit1),1) = Flag1 And _
> Mid(Data2,(8-S_Bit2),1) = Flag2 Then
>
> N = i
> Exit Sub
>End If
> i = i + 1
>Loop
|
|