「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引数に、
定数・vbWideを指定すれば半角文字を全角にすることができます。
このStrConv関数を使ってきたので、WorksheetFunction.Dbcsを使ったことは一度もないのです。
WorksheetFunction.DbcsとStrConv関数を確認するサンプルマクロ
以下のマクロを実行してみると、WoksheetFunction.DbcsメソッドとStrConv関数の動きを確認できます。
Dim txt As String
txt = ActiveCell.Value
MsgBox _
txt & vbCrLf & _
WorksheetFunction.Dbcs(txt) & vbCrLf & _
StrConv(txt, vbWide)
例えば半角の「ア」が入力されているセルをアクティブにしておいて、上記のマクロを実行すると下図のようなメッセージボックスが表示されます。
半角の「ア」の下に全角の「ア」が2つ表示されています。
1行目には、セルに入力されていた半角文字がそのまま、
txt & vbCrLf & _
2行目には、WorksheetFunction.Dbcsで全角文字に変換された「ア」が、
WorksheetFunction.Dbcs(txt) & vbCrLf & _
3行目には、VBAのStrConv関数で全角文字に変換された「ア」が、
StrConv(txt, vbWide)
それぞれ表示されています。
Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » WorksheetFunction.Dbcsとは