Page 46 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼マクロで、MidBを使うと、?????と表示されてしまいます haru 02/9/8(日) 11:10 ┗Re:マクロで、MidBを使うと、?????と表示されてしまいます JuJu 02/9/8(日) 11:44 ┗RE: Re:マクロで、MidBを使うと、?????と表示されてしまいます haru 02/9/8(日) 20:14 ─────────────────────────────────────── ■題名 : マクロで、MidBを使うと、?????と表示されてしまいます ■名前 : haru ■日付 : 02/9/8(日) 11:10 -------------------------------------------------------------------------
シートに以下のデータがあります。 0101 あああ aaaaa .................. 13,500 10,030 これに対してシート上で、=MIDB(RC[-1],44,10)とすると、 10,030と表示されますが、 マクロで、ave = MidB(Cells(i, 1), 44, 10) として、クイックウォッチすると、?????と表示されます。 10,300を表示したいのですが、どうすれば良いですか? よろしくお願いします。 |
haruさん、こんにちはぁ > これに対してシート上で、=MIDB(RC[-1],44,10)とすると、 > 10,030と表示されますが、 > マクロで、ave = MidB(Cells(i, 1), 44, 10) > として、クイックウォッチすると、?????と表示されます。 ワークシート関数の MIDB と 関数の MidB は処理する漢字コードが違います。 で、漢字コードを変換する処理が必要になります。 ちょっと長くなりますが、こんな感じです。 ave = StrConv(MidB(StrConv(Cells(i, 1), vbFromUnicode), 44, 10), vbUnicode) ではではぁ |
▼JuJuさん、こんにちは。 早速の御返事ありがとうございます。 >ワークシート関数の MIDB と 関数の MidB は処理する漢字コードが違います。 >で、漢字コードを変換する処理が必要になります。 >ちょっと長くなりますが、こんな感じです。 >ave = StrConv(MidB(StrConv(Cells(i, 1), vbFromUnicode), 44, 10), vbUnicode) うまくいきました。ありがとうございます。 |