このトピックに書きこむ |
---|
Re[6]: 文字列の置き換え | |
---|---|
[194642] Re[6]: 文字列の置き換え- ■ / 記事引用/メール受信=OFF■ □投稿者/ 中村 -(2022/01/19(15:05)) □U R L/ 半平太さん いつもありがとうございます。 返信が遅くなり申し訳ありません。 理想の動作でした。 ありがとうございました。 |
[194639] Re[5]: 文字列の置き換え- ■記事引用/メール受信=OFF■ □投稿者/ 半平太 -(2022/01/17(23:06)) □U R L/ >Sub test2() > Dim k As Long > Dim s As String > > For k = Cells(Rows.Count, "B").End(xlUp).Row To 1 Step -1 > s = Cells(k, "B").Value If Left(s, 2) = "TT" Then ’←挿入(1/3) > Select Case Right(s, 2) > Case "AA", "NN" > Rows(k).Copy > Rows(k).Insert > s = Left(s, Len(s) - 2) > Cells(k, "B").Resize(2).Value = _ > Application.Transpose(Array(s & "AA", s & "NN")) Cells(k, "A").Resize(2).Value = "A02" ’←挿入(2/3) > End Select End If ’←挿入(3/3) > Next > > Application.CutCopyMode = False >End Sub |
[194635] Re[4]: 文字列の置き換え- ■記事引用/メール受信=OFF■ □投稿者/ 中村 -(2022/01/17(21:44)) □U R L/ 半平太さん いつもありがとうございます。 <例1> 1 TT-99-AA 2 TT-99-NN 3 BB-00-VV <例2> 1 TT-99-NN 2 TT-99-AA 3 BB-00-VV コード実行後 <例1> A B C 1 A02 TT-99-AA 2 A02 TT-99-NN 3 A02 TT-99-AA 4 A02 TT-99-NN 5 BB-00-VV <例2> A B C 1 A02 TT-99-AA 2 A02 TT-99-NN 3 A02 TT-99-AA 4 A02 TT-99-NN 5 BB-00-VV このように変換してほしいのです。 お手数をおかけします。 どうかよろしくお願いします。 環境 windows10 エクセル2019 |
[194631] Re[3]: 文字列の置き換え- ■記事引用/メール受信=OFF■ □投稿者/ 半平太 -(2022/01/17(17:25)) □U R L/ では、下のケースでは、どうなればいいんですか? <例1> 1 TT-99-AA 2 TT-99-NN 3 BB-00-VV <例2> 1 TT-99-NN 2 TT-99-AA 3 BB-00-VV |
[194630] Re[2]: 文字列の置き換え- ■記事引用/メール受信=OFF■ □投稿者/ 中村 -(2022/01/17(17:10)) □U R L/ 半平太さん ありがとうございます。 データの並び順ですが私の権限では勝手に変えることはできないのです。 並んでいるときもあるし、バラバラのときもあるとしか言えません。 |
[194629] Re[1]: 文字列の置き換え- ■記事引用/メール受信=OFF■ □投稿者/ 半平太 -(2022/01/17(16:46)) □U R L/ 処理前のデータの在り様がよく分からないです。 始めから TT-nn-AA と TT-nn-NN が並んでいるなんて事はないのですか? |
[194627] 文字列の置き換え- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ 中村 -(2022/01/17(14:49)) □U R L/ 頭文字TT、末尾がAAのものを頭文字TT、末尾NSに変えるにはこのコードをどのように改変したらよいのでしょうか。 末尾を置き換えた際、A列にA02と入力もしたいです。 実行前 A B C 1 TT-99-NN 2 BB-00-VV 3 CC-88-KK 4 WW-03-AA 5 DD-66-FF 6 EE-33-QQ 7 TT-99-NN 以降もデータ500件ほど続きます 実行後 A B C 1 A02 TT-99-AA 1 A02 TT-99-NN 2 BB-00-VV 3 CC-88-KK 4 WW-03-AA 5 DD-66-FF 6 EE-33-QQ 7 A02 TT-99-AA 8 A02 TT-99-NN Sub test2() Dim k As Long Dim s As String For k = Cells(Rows.Count, "B").End(xlUp).Row To 1 Step -1 s = Cells(k, "B").Value Select Case Right(s, 2) Case "AA", "NN" Rows(k).Copy Rows(k).Insert s = Left(s, Len(s) - 2) Cells(k, "B").Resize(2).Value = _ Application.Transpose(Array(s & "AA", s & "NN")) End Select Next Application.CutCopyMode = False End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |