• ベストアンサー

エクセルで文字数制限まで空白を入れる関数

仕事にて、エクセルを使用しています。 とあるシステムにて、エクセルで入力した文字を読み込ませないといけないのですが 文字数が1つのセルにつき全角15文字(半角30文字)と決まっています。 例えば、【たこ焼き】という文字を入れたい場合、空白文字+たこ焼き=合計15文字にしたい場合、空白文字を合わせて全角15文字にできる方法を関数等使って できないでしょうか?数百件あるので、なんとかできる方法があれば、ご教授いただけたらと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • kon555
  • ベストアンサー率51% (1845/3564)
回答No.1

何ですかそのクソのようなシステムは……。 選択しているセルを、ご指定の「全角空白+元の文字列」で15文字に整えます。 元々15文字以上入力されている場合は何もしません。 範囲選択には対応していませんし、選択セル対象だしとやや使いにくいですが、取り急ぎ。 Sub 十五文字() Dim α, β α = ActiveCell.Value If Len(α) > 14 Then End β = 15 - Len(α) α = String(β, " ") & α ActiveCell.Value = α End Sub

bstmb720
質問者

お礼

kon555 様 ご返答ありがとうございます。やってみます! ほんと、顧客の要望ですので、ダメダメなシステムです。

その他の回答 (4)

  • kkkkkm
  • ベストアンサー率66% (1733/2603)
回答No.5

選択範囲のセルを 半角スペース+元の文字列=半角30文字換算 に変換します。 Sub Example() Dim c As Range Dim strb As Long For Each c In Selection strb = LenB(StrConv(c.Value, vbFromUnicode)) If strb < 30 Then c.Value = String(30 - strb, " ") & c.Value End If Next End Sub

bstmb720
質問者

お礼

kkkkkm様 ありがとうございます!

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

「たこ焼き」という文字が入っているセルを、仮にA1とします。A1に入る文字種が半角も混じることがあるのか、質問に書いてなくて、不十分と思います。 例えば、B1セルに =REPT(" ",15-LEN(A1))&A1 と入れてみて、不都合なケースが起こるか、補足すれば、正しい回答が出るでしょう。

bstmb720
質問者

お礼

imogashi様 ありがとうございます!

  • msMike
  • ベストアンサー率20% (364/1805)
回答No.3

=RIGHTB(REPT(" ",30)&A1,30)

bstmb720
質問者

お礼

msMike様 ありがとうございます!

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.2

全角文字しか登場しない あるいは、半角文字も1文字と数えていいのであれば かつ、全角スペースを必要数埋めるのであれば =IFERROR(REPT(" ",15-LEN(A2)) & A2,A2) でもいいと思います。 それとも半角文字が登場する場合に 半角換算で30文字に揃えることを求めていますか? だとすると、 NHKテレビ の場合、半角、全角スペースをどのように埋めればいいのか 示してみてください。

bstmb720
質問者

お礼

HohoPapa様 ありがとうございます!

関連するQ&A

専門家に質問してみよう