[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『半角数字を全角数字の方法は?』(ZEN)
半角を全角(数字・アルファベット)にする方法をご教授お願いします。
以下で出来たのはアルファベットのみで
数字が出来ませんでした。両方が含まれているセルなので同時実行したいのですが
よろしくお願いします。
Dim c As Range For Each c In Selection c.Value = StrConv(c.Value, vbWide) Next
また、コマンドボタンにマクロ登録して実行したいので
マクロボタンクリック毎に全角/半角 交互にできれば
更にいいのですがお解りに成る方お願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
後半は、
・もし 2 * Len と LenBが一致していなければ(全角でない文字があるので)、全角化し、
・そうでなければ、半角にする(vbNarrow)
といった分岐を行えばよろしいのでは?
(γ) 2015/08/29(土) 00:20
(γ) 2015/08/29(土) 00:24
Dim c As Range
If Len(ActiveCell.Value) = LenB Then★
For Each c In Selection c.Value = StrConv(c.Value, vbWide) Next Else
For Each c In Selection c.Value = StrConv(c.Value, vbNarrow) Next End If (ZEN) 2015/08/29(土) 02:39
肝心なところの説明が不足していたようで、失礼しました。 こんな感じですか?
Sub test2() Dim s As String Dim c As Range
s = ActiveCell.Value If Len(s) = LenB(StrConv(s, vbFromUnicode)) Then For Each c In Selection c.Value = StrConv(c.Value, vbWide) Next Else For Each c In Selection c.Value = StrConv(c.Value, vbNarrow) Next End If End Sub セルの書式が文字列であるという前提です。
(γ) 2015/08/29(土) 06:06
補足しておきます。
上で書いたコードの意味は、例えば、 下記を参照してください。 http://www.moug.net/tech/exvba/0140023.html
これよりも、次の考え方のほうがわかりやすかったですね。 つまり、「半角に変換したものが、元の文字列と同じなら半角と判定する」、 というものです。 下記を参照してください。 http://officetanaka.net/excel/vba/tips/tips145.htm
(γ) 2015/08/29(土) 22:34
StrConv 関数 文字列 勉強してみます。
希望のことが出来ました。
解決です(^_^)v
(ZEN) 2015/08/30(日) 01:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.