• 締切済み

execelマクロの文字列編集機能について

execelマクロの文字列編集機能について 一つのセル内に入力された文字列のなかから特定の文字列を切り出して、他のセルにコピーするマクロを組みたいと考えてます。どういう風にコードを作成すればよいか教えてください。

みんなの回答

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

質問の意味不明です。補足してください。 1つのセルの文字列を問題にする。それを全セル分で繰り返すことになろう。 ●その範囲はどうなっているのか。(A列とか、A、B列とか) ●>特定の文字列を切り出して 切り出すとはどういうこと。切り出す必要は無いのでは。 >他のセルにコピーする、ならば存在すれば、チェックした(聞いた)文字列をセットすれば良いから。 ●部分的に、存在するかどうか調べれば仕舞いでは。 ●その文字列を除いた残りを>他のセルにコピーするのか。 ●他のセルとはどこか。同行他列にセットするのか (考えかたを聞くぐらいが普通だが)丸投げの、コードまで聞いていて、問題が性格に説明できてない。 それではコードを作れないよ。 プログラマーは常人にまして、緻密に考えないとならないのだ。 まあ文字列を扱うLeft,MID、Right、Instr関数などの応用で済むことと予想するが。 ー エクセルの「検索」のマクロの記録を採って応用が出来るかもしれないと思う。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

う~ん これだけ?と云った感じですが 例えば A2にセルに あいうえお と入っているとして 特定の文字が うえ だとして Sub ボタン1_Click() Dim tmp, i As Long Range("B2:C2").Value = "" tmp = Split(Range("A2").Value, "うえ") For i = 0 To UBound(tmp) Range("B2").Value = Range("B2").Value & tmp(i) Next i If Len(Range("A2").Value) = Len(Range("B2").Value) Then Range("C2").Value = "" Else Range("C2").Value = "うえ" End If End Sub で B2セルに あいお C2セルに うえ が出ますがこういったことでしょうか?

関連するQ&A

  • 文字列を2つに分ける

    10個近くある異なるブックのシートを、新しい1つのブックにまとめてしまおうと考えています。 手動で1つのブック内の複数シートを選択して、新しいブックにコピーしようとしましたが、1つのセルに入力されている文字列の中に、かなり長い(255字以上)ものが含まれており、コピーした際にデータが捨てられてしまいます。 長い文字列を、事前にマクロで探して、2つのセルに分ける (たとえば、A1に長い文章があるなら、A2にセルを挿入して、文字列を2つにわける) ことは可能でしょうか? 分けたあとにそれぞれが255字以下になっていることも確認したいと思っています

  • 文字列を取り出して入力するマクロ

    A列に 「・・・・・第1・・・10:00・・・」 「氏名」 「氏名」 「・・・・・第2・・・10:30・・・」 というふうにで文字列が入っています。 A列に第〇、時間、が入っていたら、A列に第〇、B列に時刻、のみを入力したいです。・・・・には扱うリストによって、文字列が異なるので、置換で削除ができません。また、関数だとA列に直接入力できないので、他の列に入力してからAとBに移動しないといけないと思いますので、マクロでやりたいです(この作業を毎日のようにやらないといけない)。どうか教えてください。

  • Excelのマクロ

    お世話になります。現在マクロを使って事務処理の簡素化を目論んでいる、しがない事務員です。 具体的に何をしたいかというと、 ・特定の文字を入力する(またはリストから選択する) ↓ ・ターゲットのセル(またはそのセルが含まれているコラム)の色が指定の色に変わり、先ほど選んだ特定の文字も自動的に入力される。 というふうにしたいのですが、極力マクロ操作だけでできるようにするのは可能でしょうか。VBAのコードがもし複雑でなければ、どのように書けばよいのか教えていただけないでしょうか。

  • 検索後、削除や抽出するマクロ

    エクセルのシート1、A列の1~1500のセルにテキストが入力されており ある特定のテキストを含むセルを全て シート2のA列に抽出したいのですが、検索してみましたがうまくできません。 作業の流れとしては シート1のA列を範囲指定し、編集-検索、検索する文字列を入力し、すべてを検索をクリック 検索結果をコピーし、シート2のA列に貼り付ける もうひとつはシート1、A列の1~1500のセルにテキストが入力されており テキスト1またはテキスト2を含むセルを全て削除するというマクロを作成したいです。 ご指導のほどよろしくお願いいたします。

  • マクロの編集について教えてください。

    こんにちは。 長くVBAから離れており、思い出しながらマクロを作っているところです。 目的は、B列にある数百の漢字・ひらがな・カタカナのデータを"あいうえお順"に並び替えたいのです。 それで、C列に「書式」「ふりがな」を使って、コピーしてふりがなを付け、「並び替え」で"あいうえお順"に並び替えることとしました。 データの中には、コピー・加工したものも多く、セルに貼り付けても同時にふりがなが出てきません。 手作業で成功しましたので、マクロをつくり、 For Next を使って、全ての行を同時に処理したいと思い、マクロを作成しました。 ところが、マクロ作成時、B6に"東京"を入力。マクロに"東京"が書きこまれたことから、他の文字列(例えば"大阪")をB6に入力しても、マクロを実行すると、やはり"東京"がC6に表示されます。 マクロは次のとおりです。 Range("B6").Select Selection.Copy Range("C6").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("C6").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "東京" ActiveCell.Characters(1, 2).PhoneticCharacters = "とうきょう" Range("B7").Select この問題をクリアしたいのですが、このマクロを修正してもいいですし、全く別のマクロでもかまいません。 いいサンプルがありましたら、ご教授ください。 よろしくおねがいします。

  • エクセル ある文字列を入れるとある文字列を返す

    エクセルでの関数、ど素人です。一応自分で調べたのですが、無理なので質問させていただきます。よろしくお願いいたします。 エクセルで、時刻ですが文字列として1745~2345までを手入力します(1745,とか2000とか2330とか。。。。。) 入れた文字列によって、すぐ横のセルに1745、1800、1815であれば8.00、1830からは0.25刻みで8.25、1845であれば8.50、1900であれば8.75。。。。2330であれば13.25、2345であれば13.50と言ったように、入力した文字列に対しある特定の文字列を自動的に入れたいのですが、どのような関数を使えばよろしいのでしょうか。 私が行おうとしたのは、別シートに文字列一覧を作り、if(特定のセル(手入力するセル)=別シートの1745~2345まで、横のセル=別シートの8.00、8.00、8.00~13.50まで)や、sumif、lookupを使ってみましたが撃沈です。 どなたか教えていただきたく、お願いいたします。

  • エクセル 文字列検索と検索した文字列が含まれるセルへのジャンプ

    エクセル教えてください。 VBAは使ったことがありません。 現在Q&Aを作っています。 かなりボリュームが増えてしまったので、 文字列検索ができるようにしたいと思っています。 そこで、あるセルに調べたい文字列を入力し、 検索ボタンを押すと、その文字列が含まれるセルにジャンプする。 こんな機能は、エクセルでできませんでしょうか? マクロを組んだりすればよいのでしょうか? 教えてくださいー。

  • セルに入力された文字列を選択してコピーする方法

    セルに入力された文字列のみをコピーする方法が分かりません。 貼り付け先のセルには既に文字列が入力されており、それに加えてコピーした文字列を貼り付けしたいと考えております。 Range("A1").copyとしたのですが、これではセルそのものがコピーされてしまいます。 F2を押した時のように編集状態にして、文字列を選択し、コピーするにはどのような方法があるのでしょうか。

  • Excel2007のマクロで文字列を結合

    Excel2007のマクロで文字列を結合したいのですがうまくいきません。 1、セルA1からU1までデータが1つずつ入ってます。 2、1のデータを3列ずつ結合してA3からG3にコピー。 例えば、セルA1あ、B1い、C1う、D1え、E1お、F1か、ならセルA3あいう、セルB3えおか、のようにマクロで一機にできるソースをお願いします。

  • エクセルのマクロで特定の文字があるときだけコピーできるようにしたい

    エクセルのマクロで特定の文字があるときだけコピーできるようにしたい エクセルでこういう表があるとします ココカラ 1 * 2 b 15 3 * 4 d 19 5 e 25 6 * 7 g 35 8 * 9 j 46 10 k 54 ココマデ このような表があるとき、マクロを使ってもしB列に「*」以外の文字(この場合アルファベットのb) があるときは左のセル(2)をずっと下のセルにコピー(仮にA50とします)した後、右のセル(15)をB51にコピー、 次は文字が「*」なのでコピーはせずにd列になったら4と19をC50,D51にコピー・・・ という作業をセルに「ココマデ」と書いているところまで繰り返す、というマクロを作りたいのですが、どうすれば いいのでしょうか?

専門家に質問してみよう