Word で選択した文字列1文字1文字の間に空白(スペース)を入れるマクロ(Word VBA)

シェアする

The following two tabs change content below.

松井 元(まつい はじめ)

静岡県三島市の松井会計事務所に勤務する理系税理士。 文理両方のスキルの融合を考えており、このブログは以下を中心に更新している。
●税金・会計に関すること
●IT(Excel、VBAなど)を使った業務効率化
●自分のこと(考え、私生活)

さらに詳細なプロフィールはこちら
松井会計事務所へのお仕事ご依頼・お問い合わせはこちら
税金・会計の無料メルマガはじめます

Word で書いた文章の中で選択した文字列の1文字1文字の間に空白(スペース)を入れたい場合があると思います。

例えば、「貸借対照表」という文字列を「貸 借 対 照 表」というように表示を変えたい場合。

文字列が短ければ1文字ずつスペースを入れても良いのですが長いと面倒です。

選択した文字列1文字1文字の間に空白(スペース)を入れるマクロ(VBA)を考えましたので、紹介したいと思います。

レクタングル大 広告

1、選択した文字列1文字1文字の間に空白(スペース)を入れるマクロ(VBA)

プログラミングコード

文字列を選択した状態で標準モジュールに記述した次のマクロ(VBA)を実行します。

動作確認

例えば、次のようにある程度長い文字列を選択して上記マクロ(Word VBA)を実行しても、正常に動作することが確認できます。

文字列の選択時↓

マクロ実行後↓

2、コード説明

さて、プログラミングコードを説明したいと思います。

変数の定義

各々の変数は以下のような役割になっています。

・「S_Range」は選択した文字列を格納するための変数
・「S_Range_New」は間にスペースを入れた文字列を格納するための変数
・「Moji」は選択した文字列の1文字1文字を格納するための変数

変数への代入

「S_Range」に選択した文字列を格納しています。また、「S_Range_New」には初期値として””(空白)を入れ込んでいます。

文字列の間に空白(スペース)を入れる

1行目の
For i = Len(S_Range) To 1 Step -1

この部分↑で、i の値を「選択した文字列の長さ」から「1」まで1ずつ下げていくことを意味しています。

Len(S_Range)は変数「S_Range」の長さを意味します。
つまり、選択した文字列の長さを表しているということですね。

例えば選択した文字列が「貸借対照表」の5文字であれば、i を5から1まで1つずつ下げていくことになりますね。

3行目の
Moji = Mid(S_Range, i, 1)

この部分↑で、選択した文字列の左からi番目の文字を変数「Moji」に入れ込んでいます。

お仕事のご依頼は、以下のリンク先にある個別のフォームよりお願い致します。
*リンク先は私が勤務する松井会計事務所の HP です。

◆税務・会計 顧問
◆税務・会計のスポットコンサルティング
◆経理業務効率化コンサルティング
◆Excel シートのオーダーメイド
◆Excel、マクロ(Excel VBA) のマンツーマンレッスン
◆東亜大学通信制大学院(法学専攻) 入試対策コンサル
◆その他のスポットコンサルティング(当ブログを読み何かご相談したい事項が出てきた方に向けたサービス)

セミナー開催要望がありましたら、以下のリンク先にある個別のフォームよりお願い致します。
◆セミナー開催要望

税金・会計についての無料メルマガをはじめます。配信をご希望させる方は以下のリンク先にあるフォームよりお願い致します
◆メルマガ登録

例えば文字列が「貸借対照表」の場合において、iが3であれば左から3文字目の「対」が変数「Moji」に入ります。

5~9行目の

If i <> 1 Then
     S_Range_New = “ ” & Moji & S_Range_New
Else
     S_Range_New = Moji & S_Range_New
End If

この部分↑では、iが変化する中でiが1でない場合(左から1文字目でない場合)は、変数「Moji」の前に” ”(空白)を付けて変数「S_Range_New」に加えています。

また、i が1の場合は” ”(空白)を付けずに変数「Moj」を変数「S_Range_New」に加えています。
つまり選択した文字列の左から1文字目の前には空白を入れないということですね。

「貸借対照表」という文字列を選択した場合、iは最初は5からはじまり、1になるまで1つずつ下がって行きます。

i = 5 のとき
「S_Range_New」は「 表」となります。

i = 4 のとき
「S_Range_New」は「 照」に「 表」が足されて「 照 表」となります。

i = 3 のとき
「S_Range_New」は「 対」に「 照 表」が足されて「 対 照 表」となります。

i = 2 のとき
「S_Range_New」は「 借」に「 対 照 表」が足されて「 借 対 照 表」となります。

i = 1 のとき
「S_Range_New」は「貸」に「 借 対 照 表」が足されて「貸 借 対 照 表」となります。

選択した文字列を「S_Range_New」に置き換える

この部分↑では、選択した文字列を変数「S_Range_New」に置き換えています。

「貸借対照表」という文字列を選択した場合、それが「貸 借 対 照 表」と置き換わります。

3、まとめ

選択した文字列1文字1文字の間に空白(スペース)を入れるマクロ(Word VBA)を紹介しました。

文字の間隔を調整することもできるので、そちらの機能を使えば良いのかもしれませんが、見栄えなどの関係上サクッと空白(スペース)を入れたい場合もあるかもしれません。

使えそうなケースで使って頂きたいと思います。

お仕事のご依頼は、以下のリンク先にある個別のフォームよりお願い致します。
*リンク先は私が勤務する松井会計事務所の HP です。

◆税務・会計 顧問
◆税務・会計のスポットコンサルティング
◆経理業務効率化コンサルティング
◆Excel シートのオーダーメイド
◆Excel、マクロ(Excel VBA) のマンツーマンレッスン
◆東亜大学通信制大学院(法学専攻) 入試対策コンサル
◆その他のスポットコンサルティング(当ブログを読み何かご相談したい事項が出てきた方に向けたサービス)

セミナー開催要望がありましたら、以下のリンク先にある個別のフォームよりお願い致します。
◆セミナー開催要望

税金・会計についての無料メルマガをはじめます。配信をご希望させる方は以下のリンク先にあるフォームよりお願い致します
◆メルマガ登録
税理士試験まとめ、税法論文の書き方

————————————————

税理士試験についてのまとめはこちらです!

税法2科目免除大学院についてのまとめはこちらです!

kindle電子書籍を出版しました。

税理士試験の税法2科目免除のために大学院で税法論文(修士論文)を書いた経験を元に、大学院生としての目線から税法論文の書き方を体系化した書籍です↓

大学院での税法論文の書き方

本書籍の内容についてはこちらの記事をご確認下さい。

お問い合わせ・フォローボタン

———————————

よろしければフォロー下さい↓

Twitter フォローボタン:

Feedly フォローボタン:
follow us in feedly

Facebookページ:
*いいね!を押して頂くと更新情報が届きます。

レクタングル大 広告
レクタングル大 広告
関連コンテンツ



シェアする

フォローする