Home » ExcelVBA Rangeオブジェクト » Charactersオブジェクト » 先頭文字を削除する-Characters.Deleteメソッド

先頭文字を削除する-Characters.Deleteメソッド

動作検証バージョン:Windows版Excel(バージョン1809 ビルド10827.20181)

VBAのMid関数を使った、

セルの一文字目・先頭の文字を削除するExcelマクロをご紹介しています。

[スポンサードリンク]

同じことを、Rangeオブジェクトの子オブジェクトである、CharactersオブジェクトのDeleteメソッドを使ってもできます。

先頭文字を削除するサンプルマクロ

以下のSubプロシージャで、A1:A5セルの先頭文字列を削除できます。


Sub セルの先頭1文字を削除する()
 Dim rng As Range
 For Each rng In Range("A1:A5")
  rng.Characters(Start:=1, Length:=1).Delete
 Next
End Sub

サンプルマクロで行っている処理

Range.Charactersプロパティの、

引数StartとLengthの両方に「1」を指定すると、セルの先頭1文字を表すCharactersオブジェクトを取得できます。

取得したCharactersオブジェクトのDeleteメソッドを実行して、

1文字目を削除しています。

Mid関数を使った方法よりも、オブジェクト指向なコードだと感じます。

Range.Charactersプロパティの引数

Range.Charactersプロパティをご存知ない方向けに名前付き引数を使って、
  rng.Characters(Start:=1, Length:=1).Delete
としていますが、標準引数を使った、
  rng.Characters(1, 1).Delete
でも、それほど可読性は落ちないだろうと感じます。

ショートカットキー[Ctrl]+[I]でヒントも表示されますし、

1行当たりの文字数という観点では、
  rng.Characters(1, 1).Delete
のほうが優れていると感じます。

最終更新日時:2018-11-08 04:38

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » Charactersオブジェクト » 先頭文字を削除する-Characters.Deleteメソッド

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » Charactersオブジェクト » 先頭文字を削除する-Characters.Deleteメソッド

「Charactersオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.