Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » WorksheetFunction.Dbcsとは

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「worksheetfunction.dbcs」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

WorksheetFunctionオブジェクトの、Dbcsメソッドについて調べていた方による検索です。

WorksheetFunction.Dbcsとは

[スポンサードリンク]

DBCS関数とは日本語環境のJIS関数でしょう

WorksheetFunctionオブジェクトを使うと、VBA(Visual Basic for Applications)からワークシート関数を使えるわけですから、ワークシート関数にDBCSという名前の関数が存在するはずです。

が、日本語環境のExcelにDBCSという名前の関数は見当たりません。

英語版Excelのヘルプを確認すると、
Changes half-width (single-byte) English letters or katakana within a character string to full-width (double-byte) characters

という記述があります。

また、日本語環境でJIS関数を使った数式を入力する操作をマクロ記録すると、
  ActiveCell.FormulaR1C1 = "=DBCS(RC[-1])"
といったコードが作られます。

ですから、日本語環境のExcelで半角文字を全角文字にする際に使われるJIS関数が、英語版ではDBCS関数なのでしょう。

VBAではStrConv関数で半角を全角に変換できる

「worksheetfunction.dbcs」
という検索をなさった方が、何をしたかったのかはわかりませんが、私はこのWorksheetFunction.Dbcsメソッドを実務で使ったことは一度もありません。

私は半角を全角にするという処理を、VBAの関数で行ってきたからです。

VBAのStrConv関数の第2引数に、

WorksheetFunction.Dbcsとは

定数・vbWideを指定すれば半角文字を全角にすることができます。

WorksheetFunction.Dbcsとは

このStrConv関数を使ってきたので、WorksheetFunction.Dbcsを使ったことは一度もないのです。

WorksheetFunction.DbcsとStrConv関数を確認するサンプルマクロ

以下のマクロを実行してみると、WoksheetFunction.DbcsメソッドとStrConv関数の動きを確認できます。

Sub 半角文字を全角文字にする()

 Dim txt As String

 txt = ActiveCell.Value
 MsgBox _
   txt & vbCrLf & _
   WorksheetFunction.Dbcs(txt) & vbCrLf & _
   StrConv(txt, vbWide)

End Sub

例えば半角の「ア」が入力されているセルをアクティブにしておいて、上記のマクロを実行すると下図のようなメッセージボックスが表示されます。

WorksheetFunction.Dbcsとは

半角の「ア」の下に全角の「ア」が2つ表示されています。

1行目には、セルに入力されていた半角文字がそのまま、
   txt & vbCrLf & _
2行目には、WorksheetFunction.Dbcsで全角文字に変換された「ア」が、
   WorksheetFunction.Dbcs(txt) & vbCrLf & _
3行目には、VBAのStrConv関数で全角文字に変換された「ア」が、
   StrConv(txt, vbWide)
それぞれ表示されています。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » WorksheetFunction.Dbcsとは

「WorksheetFunction」の記事一覧

検索


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

.