この記事ではエクセルにて左から3文字削除(先頭3文字を消す)方法【関数:VBAマクロ】について解説しています。
具体的には
・LEN関数とRIGHT関数の組み合わせ処理
・左から3文字を消す(先頭3文字の削除)の関数を自作する(VBAマクロ)
・VBAマクロにて左から3文字削除を実行する
で処理するといいです。
それでは詳細を見ていきましょう!
目次
エクセルにて左から3文字削除(先頭3文字を消す)方法【LEN関数とRIGHT関数】
左から3文字削除(先頭の3文字を消す)方法解説のためのサンプルを以下に準備しました(^^)/
元データ列のabcde、123456、左から3文字を消すよから先頭3文字を除去してみます。
この場合は、=RIGHT(B3,LEN(B3)-3)と任意のセルに入れるといいです。
数式の詳しい意味を見ていきます。
中身の
・LEN(対象セル)
では、対象セルの文字数を取得しています。
さらに、
・LEN(B3)-3
と3を引くことで、全文字数から3文字分を引いています。
最後に、右から取得する関数のRIGHT関数を用いて、
・=RIGHT(B3,LEN(B3)-3)
とすると、結局は左から3文字分を削除したことになるのです。
後はオートフィルで処理します。
これで、先頭3文字を削除することができました!!!
先頭3文字を削除する関数を自作してみよう!【VBAマクロ】
なお、VBAマクロを用いて、左から3文字を削除(先頭3文字を消す)関数を自作してみましょう。
具体的には、Alt+F11にてVBE画面を開き、以下のコードをコピペしましょう。
DeleteLeftThreeCharsという関数名にしてみましょう。
1 2 3 4 |
Function DeleteLeftThreeChars(inputString As String) As String ' 入力文字列から左から3文字を削除する DeleteLeftThreeChars = Right(inputString, Len(inputString) - 3) End Function |
後はデフォルトの関数と同様に使ってみましょう。
=DeleteLeftThreeChars(B3)と任意のセルに入れます。
ENTERとオートフィルで左から3文字(先頭3文字)の削除ができました。
自作関数はかなり面白い&便利なので色々作ってみるといいです。
VBAマクロで先頭3文字を削除してみよう
左から3文字をマクロにて消してみましょう。
マクロの場合は、処理後に元に戻せないため、予めコピーなどしてバックアップを取ることがおすすめです。
以下のサンプルコードを使えばOK。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Sub RemoveLeftThreeChars() Dim rng As Range Dim cell As Range ' 選択範囲を取得する Set rng = Application.Selection ' 選択範囲の各セルを処理する For Each cell In rng If cell.HasFormula = False Then ' セルの文字列から左から3文字を削除する cell.Value = Right(cell.Value, Len(cell.Value) - 3) End If Next cell End Sub |
コードの中身を見るとわかりますが、基本的には最初の関数を使った処理とほぼ同じですね(^^)/
実行後は以下の通り。
いろんな方法で左から3文字を消していきましょう!
まとめ エクセルにて先頭3文字の削除(左から3文字を消す)方法【関数:VBAマクロ】
この記事では、エクセルにて先頭3文字の削除(左から3文字を消す)方法【関数:VBAマクロ】について解説しました。
エクセルマスターを一緒に目指していきましょう(^^)/!!!!!