Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11811 / 13645 ツリー ←次へ | 前へ→

【13980】文字列にスペースを加えたいのですが? ピンーチ 04/5/18(火) 11:15 質問[未読]
【13981】Re:文字列にスペースを加えたいのですが? ちゃっぴ 04/5/18(火) 11:19 回答[未読]
【13982】Re:文字列にスペースを加えたいのですが? Asaki 04/5/18(火) 11:21 回答[未読]
【13985】Re:文字列にスペースを加えたいのですが? Asaki 04/5/18(火) 11:24 回答[未読]
【13983】Re:文字列にスペースを加えたいのですが? つん 04/5/18(火) 11:23 回答[未読]
【13986】Re:文字列にスペースを加えたいのですが? ちゃっぴ 04/5/18(火) 11:28 回答[未読]
【13994】Re:文字列にスペースを加えたいのですが? ちゃっぴ 04/5/18(火) 13:20 発言[未読]
【13987】Re:文字列にスペースを加えたいのですが? ピンーチ 04/5/18(火) 11:50 お礼[未読]
【13988】Re:文字列にスペースを加えたいのですが? Jaka 04/5/18(火) 11:53 発言[未読]
【13989】今ごろ訂正も何も無いんですが。 Jaka 04/5/18(火) 12:06 発言[未読]
【13993】Re:今ごろ訂正も何も無いんですが。 ピンーチ 04/5/18(火) 13:16 お礼[未読]

【13980】文字列にスペースを加えたいのですが?
質問  ピンーチ  - 04/5/18(火) 11:15 -

引用なし
パスワード
   すみませんが、教えてください。

B列に文字列を入力するようにしました、各入力セルの文字数を一定の数(10文字)に
したいのです。

10文字を超える場合の処理はできましたが、10文字に満たない文字列を10文字にするため
スペースを入れたいのですがうまくいきません。

 Range("B5")) = Range("B5")) & 10 - Len(Range("B5"))
                10 - Len(Range("B5"))をスペースにしたい ?

 B5
 あああ          全3文字
 
 B5
 あああ_______   全10文字 のようにしたいのですが

ご教授よろしくお願いします。

【13981】Re:文字列にスペースを加えたいのですが?
回答  ちゃっぴ E-MAIL  - 04/5/18(火) 11:19 -

引用なし
パスワード
   ヘルプでString関数調べましょう

【13982】Re:文字列にスペースを加えたいのですが?
回答  Asaki  - 04/5/18(火) 11:21 -

引用なし
パスワード
   こんにちは。

Space() とか、String() とかでどうでしょうか?

【13983】Re:文字列にスペースを加えたいのですが?
回答  つん E-MAIL  - 04/5/18(火) 11:23 -

引用なし
パスワード
   ピンーチ さん、おはようございます。

Sub test()
  
  Dim strA As String
  
  strA = Range("b5").Value

  strA = strA & Application.WorksheetFunction.Rept(" ", 10 - Len(strA))
  
  Range("b5").Value = strA

End Sub

こうかな?

【13985】Re:文字列にスペースを加えたいのですが?
回答  Asaki  - 04/5/18(火) 11:24 -

引用なし
パスワード
   文字数計算がめんどくさい場合は。
MsgBox Left("test" & Space(10), 10)

【13986】Re:文字列にスペースを加えたいのですが?
回答  ちゃっぴ E-MAIL  - 04/5/18(火) 11:28 -

引用なし
パスワード
   固定長文字列使う手もあると思います。

Dim strTarget As String * 10

strTarget = String(10, " ") 'あらかじめ全角スペースをセット

strTarget = Range("B5").Value

MsgBox strTarget

【13987】Re:文字列にスペースを加えたいのですが?
お礼  ピンーチ  - 04/5/18(火) 11:50 -

引用なし
パスワード
   早々のご回答ありがとうございます。
いろいろな方法があるようなので、それぞれ試したいとおもいます。

固定長文字列は便利な方法です。

また、困りましたらご教授おねがいします。

【13988】Re:文字列にスペースを加えたいのですが?
発言  Jaka  - 04/5/18(火) 11:53 -

引用なし
パスワード
   おじゃまします。

こんにちは。
昔、リストボックスの表示で、同じようなことでうまくいかなかった事があります。

で、結局、単純なこれが一番しっくり表示されていました。
こういう事ではないかもしれませんが...。

Dim stst As String
stst = "          " '全角スペース10コ
MsgBox Left(Range("b5").Value & stst, 10)

【13989】今ごろ訂正も何も無いんですが。
発言  Jaka  - 04/5/18(火) 12:06 -

引用なし
パスワード
   セルの内容は、全角、半角のどちらかで統一してあった場合ですけど。

【13993】Re:今ごろ訂正も何も無いんですが。
お礼  ピンーチ  - 04/5/18(火) 13:16 -

引用なし
パスワード
   Jakaさん、ありがとうございます。

JakaやAsakiのマクロでB列をループさせれば解決ですが、

固定長文字列という、ヒントも頂きましたので自分なりに加工しながら進めていきます。

たくさんの回答をいただけるのは、勉強になりますし、たいへん嬉しいことです。
またのご教授をお願いいたします。

【13994】Re:文字列にスペースを加えたいのですが?
発言  ちゃっぴ  - 04/5/18(火) 13:20 -

引用なし
パスワード
   >固定長文字列使う手もあると思います。
>
>Dim strTarget As String * 10
>
>strTarget = String(10, " ") 'あらかじめ全角スペースをセット
>
>strTarget = Range("B5").Value
>
>MsgBox strTarget
【補足】
Excel97以降限定です。
Excel95以前は使えません。

11811 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free