• ベストアンサー

エクセルにて語句の前後に文字を自動でいれる方法

エクセルについての質問です。 添付画像のように、通常エクセルにて文字を入力した際はA1-A5のように文がそのまま入力されますが、B1-B5のように、特定の領域に入力した文の前後に自動的に文字列をいれる方法を探しています。(テスト と入力すると前後に自動的に●が入力され●テスト●になるように) マクロやセルの書式設定を使い、こういった方法が可能であれば是非教えてください。 宜しくお願いします。 使用ソフトはOpen Office及びOffice2003/2010です。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.6

No.2です。 >「A2からA5までのセルに数値を入力した場合、前後に●を加える」という場合、この数列をどのように変更すれば良いのでしょうか・・・ Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then If Traget.Row > 1 And Traget.Row < 6 Then 'この行を追加 If Target.Value <> "" Then Cells(Target.Row, 2) = "●" & Target.Value & "●" End If End If 'この行を追加 End If End Sub

glasper003
質問者

お礼

重ね重ねありがとうございます。 沢山の方からのご回答を頂きましたが複数回にわたり丁寧な回答を下さったNo2の方をベストアンサーに致します。 文字の入力も無事にできました、ありがとうございました!

その他の回答 (5)

回答No.5

マクロではなくて数式になりますが・・・ セルB2に =IF(A2="","",CONCATENATE("●",A2,"●")) の式を入れるとか・・・。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.2です! たびたびごめんなさい。 前回のVBAのコード内の >If .Row > 1 Then の行を >If .Row > 1 And .Value <> "" Then に変更してください。 仮にDeleteでデータを消去した場合 ●● と表示されてしまいます。 検証せずに投稿してごめんなさいね。m(_ _)m

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

1.見た目でいいなら =A1 で書式設定をユーザー定義で ●@● 2.値も変えるなら =IF(A1<>"","●"&A1&"●","") 3.マクロを使うなら Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then If Target.Value <> "" Then Cells(Target.Row, 2) = "●" & Target.Value & "●" End If End If End Sub

glasper003
質問者

補足

こちらの理解不足で申し訳ありません、NO1様及びNO3様の数式を入力した所、エラーと表示されてしまうようです・・・ 「A2からA5までのセルに数値を入力した場合、前後に●を加える」という場合、この数列をどのように変更すれば良いのでしょうか・・・

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! セルの表示形式でやる場合は ユーザー定義から "●"@"●" としてみてください。 この場合見た目がそうなっているだけで 実データは入力したデータそのもののままです。 データそのものを「●」付きのデータにしたい場合は VBAになってしまいますが、一例です。 A列の2行目以降のセルの場合とします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストし、A列にデータを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'こn行から If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count <> 1 Then Exit Sub With Target If .Row > 1 Then Application.EnableEvents = False .Value = "●" & .Value & "●" Application.EnableEvents = True End If End With End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.1

楽勝です。 B2セルに ="●"&A2&"●" と入力し、下に引っ張れば終わりです。

関連するQ&A

専門家に質問してみよう