|
▼あいんすと さん:
こんにちは。
>10進数から2進数(8桁)への変換するマクロは以下の様に作りました。
最初の投稿でDec2Binが自作の関数ならば、その旨を記述するか
コードを提示して下さいね!!
何の断りもなしにDec2Binと書かれれば分析ツールのそれだと思ってしまいます。
(分析ツールDec2Binで問題がないと思いますが)
>
>
>ですので、最初の質問に戻りますが、ANDが判断しないのは何故かな?
>と思ったのです。
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
このコードだけでは、あいんすとさんがFlag1やFlag2にどんな値を設定しているのか
わかりませんよね?それからCells(i,D_Label1)に何が入っているかも・・・。
例題として、セルにはxxxx、S_Bit1、S_Bit2、Flag1、Flag2には、それぞれxxx、・・
とはいっていた場合、結果、xxxとなる予定がyyyyにしかなりません。
という記述は必要だな!!
と、思いませんか?
Mid(Data1,(8-S_Bit1),1)は、文字列ですから、
Flag1には、
Flag1="0"
又は、
Flag1="1"
と設定しなければなりません
もし、
Flag1=0
とか
Flag1=1
としているのなら、
If val(Mid(Data1,(8-S_Bit1),1)) = Flag1 And _
val(Mid(Data2,(8-S_Bit2),1)) = Flag2 Then
として下さい。
|
|