プロが教えるわが家の防犯対策術!

こんにちは、tuneoです。

エクセルで、テキストボックスを表示して、
そこに例えば「8F」と入力した文字を
バイト型変数として式に代入したいのです。

例えば、テキストボックスとボタン1を配置して、
ボタン1を押すと、
バイト型配列変数 Dim a(3) as Byte に
a(0)=&h8F というように代入したいのです。

出来れば、テキストボックスに
「8F0E5BAF」と入力すると
a(0)=&h8F
a(1)=&h0E
a(2)=&h5B
a(3)=&hAF
と代入できるとさらにOKなのですが。。。。

A 回答 (3件)

1)


a(0) = Val("&H"& Sheets("xxx").TextBoxes("txtHEX").Text)
2)
str=Sheets("xxx").TextBoxes("txtHEX").Text
a(0) = Val("&H"& mid(str,1,2)
a(1) = Val("&H"& mid(str,3,2)
a(2) = Val("&H"& mid(str,5,2)
a(3) = Val("&H"& mid(str,7,2)
で、いけるとおもいますが。(未確認)
    • good
    • 0
この回答へのお礼

こんにちは、laptartさん、 kokoronさん。
お教えありがとうございます。

文字に&Hをアンドすると、16進数になると
いうことですね。

うまくいきました。
思ったとおりになりました。
ありがとうございます。

お礼日時:2006/06/13 14:45

うまくいったと、ご満足のようで結構ですが、なぜこんな質問が出るか判りません。


本件何かかやりたいことが実務などに即して、あるのでしょうが、それに対する、解決法のアイデアそのものを、よくわかる方(回答者)に質問で出して(批判して)もらって、別にもっとよいスマートな方法は無いのかたずねてみたら、今後の為に良かろうかと感想を持ちました。
    • good
    • 0
この回答へのお礼

こんにちは、imogasiさん。

実は、N88BASICで作成されたMKSデータがあって、
その値をsingle数値で知りたかったので、
テキストボックスにそのMKSデータを入力し、
ボタン1を押してCVS変換の後、
結果をsingle数値でMsgBoxさせたかったのです。

お礼日時:2006/06/14 13:20

例えばセルB1に 8F0E5BAF と記入し


Dim a(5) As Byte
Dim Z as string
Z = Range("B1").Value

a(0) = "&H" & Mid(Z, 1, 2)
a(1) = "&H" & Mid(Z, 3, 2)
a(2) = "&H" & Mid(Z, 5, 2)
a(3) = "&H" & Mid(Z, 7, 2)
で代入できます
    • good
    • 0

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