Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2007)
数値の左に半角スペースを置きたい
投稿日時: 20/09/22 18:08:19
投稿者: o_taroh

数値の左に半角のスペースを置いた文字列をセルに入れるとスペースが消えてしまうのですが、半角2文字列として入力を完成させるにはどうしたらいいでしょうか?
 
ちなみに、セルA1,A2を左寄せに設定しておいて下記を実行しても左の空白は消えてしまいます
変数mjをチェックしてみると明らかに" 5"となっているのですが,A2には空白が消えた状態で表示されます
 
Sub test()
    Range("A1") = " " & Str$(Range("B1"))  'B1=5
    mj = " " & Str$(Range("B1"))
    Range("A2") = mj
End Sub
 
よろしくお願いいたします。

回答
投稿日時: 20/09/22 18:26:57
投稿者: WinArrow
投稿者のウェブサイトに移動

> Range("A1") = " " & Str$(Range("B1"))  

     Range("A1") = "' " & Range("B1").Value
   
   
先頭に「'」(アポストロフィー)を入れれば、文字列になります。
  
または、代入するセルの表示形式をあらかじめ、「文字列」に設定する方法もあります。  
 

回答
投稿日時: 20/09/22 18:28:04
投稿者: simple

書込先のセルの書式を文字列にしてはどうですか?
それと、Str関数の戻り値は、
符号用として頭に自動的にspaceが一文字入ります(正の数値の場合)。
そのことも念頭に置いて下さい。

投稿日時: 20/09/22 18:54:59
投稿者: o_taroh

WinArrowさん、simpleさん早速のご返答ありがとうございました
アポストルフィーもやってみたのですが、付ける位置が間違ってました、"'" & " " などと間抜けたことをしてました、Str$の戻り値のこともうっかりするところでした、ご二方どうもありがとうございました。