エクセル2010を使用しています。
①1列目にA00001~A10000と入力されています。末尾1にだけbをつけた文字を2列目に入力したいのです。
例:A00001b
A00011b
A00021b
A00031b・・・
②1列めのbがついていない文字行の前に、2列目のにbがついている文字を挿入したいです。
例:A00001b
A00001
A00002
A00003
ずっと続いて、
A00011b
A00011
としたいのです。
どのようにすればよいか、教えていただけますでしようか。
訂正します。1と2をつづけてやりたいということもわかりました。
<1だけを行う場合>
A列と空行であるB列があるとして、2列目に、任意の文字を入れます。全角スペース1個を一行目にいれたものをドラッグして全行にするとかでもいいですし、単にA行をコピペしてもいいです。A・B行をコピーしてワードの新規文書に「形式を選択して貼り付け」の「テキスト」で貼り、
CTRL+H をおして、オプションからワイルドカードを使用するにチェックをいれ
上欄に「1^t」 下欄に「1b^t」
とすれば末尾1のセルにすべてbが追加されるとおもいます
はいったものをまたエクセルの2行に「形式を選択して貼り付け」「テキスト」で貼り、B行を消すと、1だけがおわった状態になるとおもいます。
<2もいっしょに行う場合>
なら、①と同様のやり方においてCTRL+Hの直後だけを変更します。
おなじようにオプションからワイルドカード使用にチェックを入れた上
上欄に「([0-9A-Za-z]{1,})1^t」 下欄に「\11^t^p\11b^t」
で同様にやれば、一度に一行にできるのでは。C列にはデータはないですね。
ただし、自分のとても古いワードのばあい、{1,}を抜かないとうまく動作しませんでした。
かといって抜くと追加行でA0000が無視されてしまいます。
==============
1にせよ、2にせよ、末尾1以外の文字を新しく作ったセルにコピペしないといけないですが、
その前の文字(末尾から2桁目だけ)は「コピーペースト」ができるのですが、
末尾以外の桁数が決まっていないものをとなると末尾1まで読みたくなってしまうのでダメのようです。
(種類が違う文字ならok)
もし、この例のように、全桁数が7ときまっているときは、
①については
上欄に「([0-9A-Za-z]{1,6})1^t」 下欄に「\11^t\11b^t」
②については
上欄に「([0-9A-Za-z]{1,6})1^t」 下欄に「\11^t^p\11b^t」
でどうにかなるとおもいます。前ゼロがあって本当によかった。
桁数が決定されていないときはどうにもならないです。
もうすこしちゃんとしたマクロやphpでくまないといけません。
=========
6桁対応、1bつきを前行におきます。
これでどうなりましたか。
上欄に「([0-9A-Za-z]{1,5})1^t」 下欄に「\11b^t^p\11^t」
訂正します。1と2をつづけてやりたいということもわかりました。
<1だけを行う場合>
A列と空行であるB列があるとして、2列目に、任意の文字を入れます。全角スペース1個を一行目にいれたものをドラッグして全行にするとかでもいいですし、単にA行をコピペしてもいいです。A・B行をコピーしてワードの新規文書に「形式を選択して貼り付け」の「テキスト」で貼り、
CTRL+H をおして、オプションからワイルドカードを使用するにチェックをいれ
上欄に「1^t」 下欄に「1b^t」
とすれば末尾1のセルにすべてbが追加されるとおもいます
はいったものをまたエクセルの2行に「形式を選択して貼り付け」「テキスト」で貼り、B行を消すと、1だけがおわった状態になるとおもいます。
<2もいっしょに行う場合>
なら、①と同様のやり方においてCTRL+Hの直後だけを変更します。
おなじようにオプションからワイルドカード使用にチェックを入れた上
上欄に「([0-9A-Za-z]{1,})1^t」 下欄に「\11^t^p\11b^t」
で同様にやれば、一度に一行にできるのでは。C列にはデータはないですね。
ただし、自分のとても古いワードのばあい、{1,}を抜かないとうまく動作しませんでした。
かといって抜くと追加行でA0000が無視されてしまいます。
==============
1にせよ、2にせよ、末尾1以外の文字を新しく作ったセルにコピペしないといけないですが、
その前の文字(末尾から2桁目だけ)は「コピーペースト」ができるのですが、
末尾以外の桁数が決まっていないものをとなると末尾1まで読みたくなってしまうのでダメのようです。
(種類が違う文字ならok)
もし、この例のように、全桁数が7ときまっているときは、
①については
上欄に「([0-9A-Za-z]{1,6})1^t」 下欄に「\11^t\11b^t」
②については
上欄に「([0-9A-Za-z]{1,6})1^t」 下欄に「\11^t^p\11b^t」
でどうにかなるとおもいます。前ゼロがあって本当によかった。
桁数が決定されていないときはどうにもならないです。
もうすこしちゃんとしたマクロやphpでくまないといけません。
=========
6桁対応、1bつきを前行におきます。
これでどうなりましたか。
上欄に「([0-9A-Za-z]{1,5})1^t」 下欄に「\11b^t^p\11^t」
なぽりんさん、ありがとうございます。
まず教えていただいた方法で、全6桁なので{1,6})の部分の6→5に変更し実行したところ、B列にb付きが表示できるようになりました。ありがとうございました。
次の作業として、b表示できたものをbがついていないものの前に挿入したいのです。
A00001b
A00001
A00002
A00003
.
.
.
A00011b
A00011
のようにするには、B列のb付きのものだけを行挿入させるというマクロを組まないと表示できないのでしょうか?
なぽりんさん、ありがとうございました。完璧にできました。
本当にありがとうございました。
マクロの例で。
Sub Sample() Application.ScreenUpdating = False For r = Cells(Rows.Count, "A").End(xlUp).Row To 1 Step -1 If Right(Cells(r, "A").Value, 1) = "1" Then Cells(r, "B").Value = Cells(r, "A").Value & "b" Rows(r).Insert Cells(r, "A").Value = Cells(r + 1, "B").Value End If Next Application.ScreenUpdating = True End Sub
なぽりんさん、ありがとうございます。
2014/09/07 09:01:37まず教えていただいた方法で、全6桁なので{1,6})の部分の6→5に変更し実行したところ、B列にb付きが表示できるようになりました。ありがとうございました。
次の作業として、b表示できたものをbがついていないものの前に挿入したいのです。
A00001b
A00001
A00002
A00003
.
.
.
A00011b
A00011
のようにするには、B列のb付きのものだけを行挿入させるというマクロを組まないと表示できないのでしょうか?
なぽりんさん、ありがとうございました。完璧にできました。
2014/09/08 08:51:45本当にありがとうございました。