[[20221204092529]] 『Mid関数の結果を文字列で表示する』(幹二) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Mid関数の結果を文字列で表示する』(幹二)

例えば、切り出したい位置と切り出したい文字数を指定して文字列を切り出す場合

 Cells(i, "B") = Mid(Cells(i, "A"), smoji, lmoji)

lmojiが3の場合、結果が002では、B列に数字として2が表示されますが
B列の表示形式を文字列に変更しないで文字列のままセルに002(小文字)と抜き出すにはどうしたら良いですか?

同じく
35では無く035です。

< 使用 Excel:Office365、使用 OS:Windows10 >


Mid関数の結果は、文字で返されます。
セルに入れた時に数値に変換されるだけです。
(コメン) 2022/12/04(日) 09:35:42

msgbox Mid(Cells(i, "A"), smoji, lmoji)

とやってみましょう。
(コメン) 2022/12/04(日) 09:39:05


'
先頭につけるとかですかぁ。。。^^;
m(__)m
(隠居Z) 2022/12/04(日) 09:41:21

コメンさん、隠居Zさん アドバイス感謝します。

Mid関数の結果は、文字で返されるのですね。

b列が標準では数値に変換された形式で表示されるので
最初からb列を文字列に指定しておけば問題なかったです。
結果として002が表示されました。
(幹二) 2022/12/04(日) 10:02:55


 >B列の表示形式を文字列に変更しないで文字列のままセルに002(小文字)と

 >最初からb列を文字列に指定しておけば問題なかったです。

 なんか、矛盾に近いなぁ。
 最初からならOKだけど、
 直前で書式変更はNGってことなんですかねぇ・・

(半平太) 2022/12/04(日) 11:02:17


半平太さんへ、

最初に下記を実行時にB列に数字(2)が表示されました。
Cells(i, "B") = Mid(Cells(i, "A"), smoji, lmoji)

B列は、文字列(002)で表示されてほしいので
b列のセル書式を後から変更しないで文字列で表示する方法を希望しましたが
mid関数の結果は、文字で返されるのにEXCELがおせっかいにも数字に変換して表示します。

なので"最初からb列を文字列に指定しておけば問題なかった"となった訳です。

矛盾していると言われればそのとおりで返す言葉がありません。

問題は、おかげさまで解決しました。
(幹二) 2022/12/04(日) 12:44:39


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.