• ベストアンサー

特定の文字があった時のみ、隣のセルに移動したい

エクセル2003を利用してオーダー別の手配リストを作成しています。 データからコピーした場合、オーダー、品番等、全て同じ列に入力されてしまう為、自動で振り分けたいと考えています。 そこで同じ列内の特定の文字(例:CX又はCN)が有ったものだけを、隣のセルに移動して、元々有った文字は全て削除するといったことは出来るでしょうか? 詳しい方が居ましたら、是非ご教示下さい。 宜しくお願いします。

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

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

こんばんは! 外しているかもしれませんが・・・ >特定の文字(例:CX又はCN)が有ったものだけを は「CX」または「CN]が含まれている!という解釈 >元々有った文字は全て削除するといったこと の「削除」とはデータを消去ではなく、消去して上詰めとしています。 VBAになってしまいますが、一例です。 元データはA列の1行目からあり、「CN」または「CX」が含まれるデータをB列に移動表示させるようにしてみました。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long Application.ScreenUpdating = False For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row If InStr(Cells(i, "A"), "CN") > 0 Or InStr(Cells(i, "A"), "CX") > 0 Then With Cells(i, "A") .Offset(, 1) = .Value .Value = "" End With End If Next i On Error Resume Next Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp Application.ScreenUpdating = True End Sub 'この行まで ※ 単にA列データをB列に移動させるだけであれば 最後の On Error Resume Next Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp の2行を削除してください。 ※ 一旦マクロを実行すると元に戻せませんので 別Sheetでマクロを試してみてください。 的外れならごめんなさいね。m(_ _)m

yasuhito_s1
質問者

お礼

貴重な回答有難うございます。 大変参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCEL 3文字に合致した品番のみ指定枠に記載

    EXCEL上でCX, CN, CAを含む品番があった場合、別列(隣の列)一つ上に、品番をコピー するように考えています。 いろいろと自分なりに調べて下記関数式を作成してみましたが、CX, CNのみでCAは出来ません でした。 誰か詳しい方がおりましたら、教えて頂けないでしょうか? =IF(OR(MID(A2,1,2)="CX",MID(A2,1,2)="CX"="CN",MID(A2,1,2)="CN"="CA",MID(A2,1,2)="CA"),A2, "") 宜しくお願いします。

  • エクセルマクロで特定の文字を探して隣のセルの色を変える

    エクセルに入力されている特定の文字を探し出して隣のセルに色をつけたいと考えています。 検索の対象となるセルは全てのシートのB列です。 検索する文字は色々な英数字の組み合わせの中に含まれています。   A  B 1  10 ABC000012 2  20 AAC000013 3  30 ACC000014 上記のような値が入力されている状態で、B列の"ABC"か"AAC"の何れかが入力されているセルの隣のA列のセルの色を変えたいです。 この場合はA1とA2のセルの色が変わるというイメージです。 VBAを使って処理したいのですが、どなたかご教授頂けないでしょうか。宜しくお願いいたします。

  • C# リストビューの特定のセルの特定文字色を変更

    C#のリストビューの特定のセルの中の特定の文字の色を変えたいと思っています。 例えばリストビューの4行目の2列目の中に「INTEGER」という文字列が入れこまれていたら、「EGER」の色だけ赤く変えるということをやりたいのです。 リストビュー全体の文字色、あるいはリストビューの中の特定のセルの文字色を変えるやり方は色々ありましたが、さらにその中の特定の文字だけの色を変えるやり方はどこを探しても見つからなかったので質問させていただきました。 分かる方がいらっしゃいましたら、ご享受のほど、よろしくお願いします。

  • Excel2007で、特定のセルに入っている文字列と同じ名前の(同じブ

    Excel2007で、特定のセルに入っている文字列と同じ名前の(同じブック内の)シートの特定のセルの内容を引くにはどうしたらよいのでしょうか。 状況を具体的に申し上げますと、 シートのA1のセルに「伝票」という文字列が入っているとします。A2のセルに、「伝票」という名前の同一ブック内のシートのC3のデータを自動転記したいのです。 どなたかおわかりでしたら、ご教示いただけませんでしょうか。どうぞよろしくお願いいたします。

  • 一つのセルに特定の文字が入ると隣のセルに条件に合った文字を入力したい

    列Aと列Bに特定の条件を入力します。 列Cに列Aに入力した行の文字を入力規則のリストで呼び出すと、列Dに列Aと同じ行に入っている列Bの文字を自動で入力するようにしたいのですが、どのようにしたらいいでしょうか? IF関数で条件分岐させようと思ったのですが列AもBも随時追加されていくのでこの方法が使えませんでした。

  • EXCEL 選択文字を指定枠に記載後元の行削除

    先日、EXCEL上でCX, CN, CAを含む品番があった場合、別列(隣の列)一つ上に、品番をコピー する関数式を教えて頂きました。(下記参照) =IF(OR(MID(A2,1,2)="CX",MID(A2,1,2)="CN",MID(A2,1,2)="CA"),A2,"") この式に追加で元のCX, CN, CAを含む行を削除することは出来るでしょうか? 詳しい方がおりましたら、教えて頂けないでしょうか? 宜しくお願いします。

  • エクセルで特定の文字を含むセルをコピーしたい

    【現在の具体的な状況】 お世話になります、現在エクセルにてデータの集計を行っております。 やりたい事としては A列にあるデータの中で特定の文字を含むセルを隣のB列、C列にコピーしたい。 と言った内容です。 ↓例) A列 ○○○@docomo ○○○@docomo ○○○@softbank ○○○@docomo ○○○@ezweb ○○○@ocn ○○○@plala と言った具合にメールアドレスが入力されておりますが、これを携帯メールとPCメールとに分けたいのです。 【抱えてる問題/困っている事】 A列に含まれる特定の文字を含むセルを隣のB列に表示されるようにしたいのですが どうにも思ったようにうまくコピーされません。 【何を聞きたいのか】 B1のセルに下記の関数を用いています。 =IF(ISERR(SEARCH("*docomo*",A1)),A1,"") これで、docomoを含むセルをB1に返す事には成功しておりますが、その他にsoftbankや、ezwebを含むように条件を追加しようと思った時に、詰まってしまいました。 また、同時に今度は逆にdocomo、softbank、ezwebを含まないセルをC列に返す方法もご教授できればと思います。 お手数ですが、よろしくお願いいたします。

  • エクセルのセル内の文字の移動

    いつもお世話になります。 教えてください。 A列に入力されてる文字とB列に入力されてる文字をすべてA列に表示するにはどうすればいいのでしょう。セルの結合ではなく文字の移動が可能でしょうか。200行位を一発で変換したいのですが。よろしくお願いします。   

  • 特定の文字列の隣のセルの文字色変更

    Excelに関する質問です。 A5~N42のセルに特定の文字列が入力されている場合、 A列、D列、G列、J列、M列、P列に入力されている文字の色を変えたいのですが、 何か良い方法を教えてください。

  • 特定のセルが四捨五入されてしまう

    表題のとうりです。 たとえばC23セルには='7日!H39というような他のシートの 特定のセルを参照する関数が入っています。 これで0.5と入れると 1と返され 0.4と入れるとゼロと返されてしまいます。 隣のセルには='7日!H35入っていますがこちらは0.5、0.4と正しく返されます。 C23だけがこうなってしまいます。(C行すべてです) 書式はすべて文字列になっています。 数値にすると文字が小さくなりすぎて見栄えが悪いからです。 コピペで行を増やしたらこうなってしまいました。

専門家に質問してみよう