• ベストアンサー

エクセル 検索した文字列の先頭に文字を挿入

エクセル2010を使用しています。 田中・ 山本 広田 小林・ 杉田 佐々木・ というように氏名の最後尾に  ・  がついたリストがあります。 これを ・田中・ 山本 広田 ・小林・ 杉田 ・佐々木・   としようと思い、 文字列の最後に ・ がついている文字列を検索し、先頭に ・ をつけるような マクロを教えていただけないでしょうか? あちこちのサイトでヒントになりそうなものはあったのですが 基本知識に欠けるところがありうまくマクロが書けず自力は断念しました。 ぴったりくるマクロをお授けいただければ幸いです。

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

  • ベストアンサー
  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.1

基本的な例。  Like演算子でのワイルドカードの扱い方  If Then ステートメントで条件分岐  For Each ... Next ループの扱い方  オブジェクト型変数の宣言と扱いかた など、自信のないところは(Web上の)テキストなどで確認しておいてください。 Sub Re8015051() Dim r As Range   For Each r In Range("A1:A6") ' セル範囲を適宜指定     If r.Value Like "*・" Then ' ...文字列の最後に ・ がついている文字列...ならば       r.Value = "・" & r.Value  ' ...先頭に ・ をつける...     End If   Next End Sub

sentakem
質問者

お礼

どうもありがとうございました。 スッキリ解決し、仕事もサクサク進みました。 また、アドバイスいただいた点もいろんなサイトをチェックし 記述された内容も少しわかってきました。 回答+アドバイス、大変ありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

findとfindnextについてVBAのヘルプで出てくるサンプルマクロの、ほぼそのまんまなので、わざわざネットで記事にするまでも無いという内容です。 作成例: sub macro1()  dim c as range  dim c0 as string  set c = cells.find(what:="*・", lookin:=xlvalues, lookat:=xlwhole)  if c is nothing then   msgbox "NOT FOUND"   exit sub  end if  c0 = c.address  do   c = "・" & c   set c = cells.findnext(c)  loop until c.address = c0 end sub

sentakem
質問者

お礼

回答ありがとうございました。 どうやら「わざわざネットで記事にするまでもない」質問だったようで大変恐縮しておりますが…. 「わざわざネットで記事にするまでもない質問」かどうか? 少なくとも、私にとっては今回回答をいただいたことで問題は解決し、このサイトを利用した意義は大いにありました。 このサイトは、職業、性別、年齢、その見識….質問者も回答者もいろいろな人が いることが多種多様なQ&Aを生むポイントであると思われ、実際、他の質問を拝見しましても、人それぞれの悩みのレベルがあると思います。 たわいもない質問かもしれませんが、今後も利用させていただければ幸いです。

関連するQ&A

  • 段落の先頭に文字列を挿入する秀丸マクロはありませんか?

    段落の先頭に文字列を挿入する秀丸マクロはありませんか? 文書の作成時に、各段落の先頭に特定文字列を挿入するマクロを探しています。 原稿は英文と日本語文の2通りあり、それぞれについて作業できるようにしたいのですが、どなたかご存知の方はおられますか? ネット上で検索したのですが、なかなか使えるものが見つかりません。 自分でマクロを作成したいところですが、私に難しく、まだ勉強中です。 よろしくお願い致します!

  • EXCEL: セルの先頭に任意の文字列を入れる

    Excel2013 Excelのセルに入力された文字列の先頭に、任意の文字列を入れたいのですが、どのような方法があるでしょうか? マクロが必要でしたら記述をお願いします。マクロが不要な方法があれば、なお便利です。 文字列は1~3文字程度で任意なものを入れたいのですが、既存セルの先頭に入れるだけです。ただ適用セルが数千あるため、手作業を避けたいと考えています。

  • VBA/FIND関数を使っての先頭文字列の検索方法

    エクセルVBAにてFIND関数を使って、 文字列検索⇒コピー&ペーストのマクロを作成しているのですが、 どうしても、先頭文字列から検索をする方法がわかりません。 たとえば、 あいうえお いうえおあ おあいうえ えおあいう という文字列から「あいう*」を検索したい場合、 1行目だけを抽出したいのですが、 1,3,4行目が抽出されてしまいます。 find関数では先頭文字からの検索はできないのでしょうか? もし、不可能な場合、先頭文字からの検索を行うにはどのように行えばよいでしょうか? アドバイス、よろしくお願いいたします。

  • エクセルマクロ

    お世話になります。 どなたか知恵をおかしください! ”Sheet1”にある表 A列  B列(役職) 田中 総務 藤田 会計 桂山 人事 松田 仕入れ 谷本 生産 鈴木 販売 ”Sheet2"にある表 田中 森田 河合 池田 佐々木 谷本 ・・・ " Sheet2に入力した氏名がSheet1に存在する時。 該当するSheet1のA列(氏名)・B列(役職)の背景を黄色に 色付けするマクロを教えてください。 来週には仕上げなければならないのですが、ヒントがみつからず。 宜しくお願い申し上げます。  

  • 列から特定の文字列検索→該当以外の「行」隠すマクロ

     顧客情報のマクロを組んでおります。  2列目  3列目   総務課 鈴木一郎  営業課 山本一郎  庶務課 田中一郎  営業課 本田一郎  …といったデータがあります。  「総務課」というボタンをおしたら、   2行目の中から、「総務課」という文字列を探し出し、  (オートフィルタの作業そのものなのですが)それ以外の行は「隠す」にしたいと思っております。  総務課の人間だけを表示するようなマクロにしようと。    これまでオートフィルタを使用したマクロを組んでいたのですが、  どうもオートフィルタボタンが表示されてしまうと、表が見づらくなるので、美しくありません…。  そこで、このようなマクロを作ろうと考えました。    とくに「ROW2」から特定の文字列を検索して…  という下りがわかりません。  アドバイスをいただけると、ありがたく思います。  どうぞ、よろしくお願いいたします。  

  • エクセルでこのような事ができますか?

    エクセルでマクロとか使わずに簡単に以下の作業ができる方法がありますか?      A      B 1   田中 2   山本 3   中村 4   岡田 5   鈴木      ↓   A列にずっと1000人ぐらいの名前がある。   このシートをもとに下のような1から6の番号をB列につけたシートを   作りたいのですが・・・      A      B 1   田中     1 2   田中     2 3   田中     3 4   田中     4 5   田中     5 6   田中     6 7   山本     1 8   山本     2 9   山本     3 10  山本     4 11  山本     5 12  山本     6 13  中村     1 14  中村     2      ↓    6000行まで入ることになります。

  • エクセルで、文字列の合計表示をするには

    エクセルで、文字列だけを入力して、その合計数を出すにはどうしたらようでしょうか。たとえば「田中」「柴田」「佐藤」と入れると「3」と表示できるような。  名簿を作成しており、氏名を入れるとその合計人数が出るようなものを作りたいと思っているのです。このばあい、氏名の前に番号表示をしないで、氏名のみの表示としたいのですが。 可能でしょうか。

  • Excelで文字列の先頭から連続する特定文字を削除

    下記例のように半角6文字の文字列が並んでいます。 先頭に”0”が存在する場合のみ”0”が連続する分だけ”0”を削除したいです。 ”0”が後ろの方にあっても途中で”0”以外の文字が入れば後ろの”0”は残したいです。 ”0”がなければ、そのままにしたいです。 出来れば関数で処理したいですが、マクロでも構いません。   02UB0T → 2UB0T   003Y07 → 3Y07   000H00 → H00   000020 → 20   AS143K → AS143K 宜しくお願いします。

  • Excel 重複値を検索し全て表示させる関数

    Sheet1の1行目には見出しがあり、A列とB列の2行目から下にデータが入っています。(約200行) A列     B列 田中    13 山本     8 谷口    11 鈴木    6 田中    10 佐々木    9 奥村     15 佐々木   15 佐々木   20 ・ ・ ・ Sheet2のA列1行目から下には別のデータが入っています。(約600行) A列 太田川 山村 田中 多賀先 鈴木 奥村 幸田 ・ ・ ・ Sheet2のA列のデータと完全一致するデータ(名前)をSheet1のA列から探して、同じ名前があれば、その隣のB列にある数値をSheet2のB列に貼り付ける(B列が重複の場合、下に張り付ける。但し、A列の名前は1行目は表示、2行目からは表示、空欄でも構いません)。 見つからない場合はSheet2のB列は空欄のままです。 Sheet2 A列      B列 太田川      山村 田中    13        10 多賀先 鈴木     6 奥村    15 佐々木   9       15       20 幸田 ・ ・ ・ 何卒、ご指導の程宜しくお願い致します。

  • エクセルのマクロで質問です

    B列に氏名の頭文字(カタカナ)1文字があいうえお順に1000行くらい並んでいて、例えば「カ」の先頭のセルをアクティブセルにするマクロの組み方を教えていただけますでしょうか? よろしくお願いします。

専門家に質問してみよう