[[20171027135004]] 『セルの最初と最後に単語を一括で追加する方法』(san) ページの最後に飛ぶ

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

 

『セルの最初と最後に単語を一括で追加する方法』(san)

商品名の入ったセル内が単純に一列に並んであるシートに対して、
そのセルごとに最初や最後に文字を追加する簡単な方法はございますでしょうか?
関数だと現在使用しておりますが、マクロなどで追加したい文字をmsgboxなどで指定したら一括で全ての商品名に反映されるようになれば嬉しいです。

宜しくお願い致します。

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


追伸
最初に挿入する場合は文字の最後に半角スペース、最後の場合は半角スペースのあとに文字をを入れたいです。
(san) 2017/10/27(金) 13:54

 MsgBoxではなくInputBoxでは?

 ヘルプで調べてみてください。
(カリーニン) 2017/10/27(金) 14:07

inputboxでした。

どなたかご指導お願い致します。
(san) 2017/10/27(金) 18:23


 対象セル・範囲を選択してから実行
 Sub test()
     Dim myStr As String
     myStr = InputBox("文字を入力")
     If myStr = "" Then Exit Sub
     myStr = " " & myStr & " "
     Selection.Value = Evaluate("trim(""" & myStr & """&" & Selection.Address & "&""" & myStr & """)")
 End Sub
(seiya) 2017/10/27(金) 18:38

説明不足ですみません。
上記のコードですと、最初と最後両方に挿入されますので、
最後だけだと

Sub test()

     Dim myStr As String
     myStr = InputBox("文字を入力")
     If myStr = "" Then Exit Sub
     myStr =myStr & " "
     Selection.Value = Evaluate("trim(Selection.Address & "&""" & myStr & """)")
 End Sub

先頭に挿入だと

Sub test()

     Dim myStr As String
     myStr = InputBox("文字を入力")
     If myStr = "" Then Exit Sub
     myStr = " " & myStr
     Selection.Value = Evaluate("trim(""" & myStr & """&" & Selection.Address)")
 End Sub

でできますでしょうか?
(san) 2017/10/28(土) 14:27


 ああ、別々でしたか。
 こんな感じで使い分けてください。

 Sub InsertPrefix() '文頭
     Dim myStr As String
     myStr = InputBox("文字を入力")
     If myStr = "" Then Exit Sub
     myStr = myStr & " "
     Selection.Value = Evaluate("""" & myStr & """&" & Selection.Address)
 End Sub

 Sub InsertSuffix() '文末
     Dim myStr As String
     myStr = InputBox("文字を入力")
     If myStr = "" Then Exit Sub
     myStr = " " & myStr
     Selection.Value = Evaluate(Selection.Address & "&""" & myStr & """")
 End Sub
(seiya) 2017/10/28(土) 14:51

 先頭に付ける文字と末尾に付ける文字は違う文字列ですか?

 また、先頭に付けるセルと末尾に付けるセルはどのように分けますか?
 条件や規則性はありますか?
(カリーニン) 2017/10/28(土) 16:56

seiyaさん

できました!これは非常に便利で助かりました!
もし、お手間でなければ一行ごとコードの意味を教えて頂くことは可能でしょうか?

ご検討宜しくお願い致します。
(san) 2017/10/28(土) 17:39


 Evaluateメソッドで文字を付加しています。
[[20070212134849]]

 例えば、
 A1:A5にそれぞれ1,2,3,4,5と入力されている時
 B1:B5を選択した状態で B1に

 ="10 x "&A1:A5

 と入力して Ctl + Shift + Enterで確定するとB1:B5が
 10 x 1, 10 x 2, 10 x 3.....となります。

 コードは、これをメモリー内で計算させて選択範囲を上書きしています。
(seiya) 2017/10/28(土) 18:41

コメント返信:

[ 一覧(最新更新順) ]


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