サイト内検索

基本 文字列操作関数

VBAコードで任意の文字列を右から抽出できるRight関数

文字列の右側から一定の長さを取得するRight関数を使用して、セルの中の文字列から必要な情報を取り出します。右側2文字が共通する文字であることを利用した行削除のサンプルコードです。

では今回のサンプルファイルになります。サンプルファイルの内容は、これまで使ったことのあるSampleSheet02と同じ、小計行つきです。

Right関数説明用サンプルExcelシート
RightFunction.xlsのワークシート

続いて今回のコードになりますので、ぜひ真似して書いてみてくださいね。

Right関数を使ったVBAサンプルコード
Right関数の使用例

ではまずは実行してみましょう。上手くいけば小計行がきれいに削除されるはずです。

つづいてVBAコードの解説にいきますね。

 

20行目:If Right(.Cells(r, 2), 2) = "市場" Then
If文の条件式です。Right関数が使われている左辺の結果が、右辺の「市場」と等しい場合、Then以降で行削除するVBAコードが実行されます。

では初登場になりますRight関数について、次図で説明しますね。

Right関数の使い方をやさしく説明
Right関数の説明

Right関数は、文字列を処理の対象にします。処理対象の文字列の右側から、指定した文字数分の文字列を結果として返します。

使い方は、Right()の中に「処理する対象のセル」と「抽出する文字数」を「,」を使って並べます。

以上を踏まえて、今回の例では、まずIf文の条件式の中で左辺と右辺を比較しています。右辺は「市場」ですので、左辺も「市場」であればThen以降のVBAコードが実行されます。

今回の目的は、サンプルシートから余計な小計行を削除することでしたが、その小計行の2列目(商品名欄)には必ず「~市場」という見出しが入ってますよね。

よってこの特徴に気づき、小計行の2列目(商品名)の右2文字が「市場」である行をすべて削除すれば、余計な行がすべて削除できるというロジックを採用しました。さらに、果物で「~市場」という名前が無いことも気づきになります。

まとめ

今回は、Left関数と一緒に覚えておくとよいRight関数についてお話ししました。これらは使い方も左右反対なだけですので、ぜひ対にして覚えてくださいね。

[スポンサーリンク]



サイト内検索

-基本, 文字列操作関数
-

Copyright© 集計用VBAサンプルコードをやさしく学ぼう , 2020 All Rights Reserved.