Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


67 / 13178 ツリー ←次へ | 前へ→

【79828】セルの関数で使用している文字列を半角にしたい りか 18/4/24(火) 11:52 質問[未読]

【79855】Re:セルの関数で使用している文字列を半角... γ 18/4/30(月) 9:49 発言[未読]

【79855】Re:セルの関数で使用している文字列を半...
発言  γ  - 18/4/30(月) 9:49 -

引用なし
パスワード
   Microsoftのフォーラム
ht tps://social.msdn.microsoft.com/Forums/ja-JP/52f7099a-6290-493b-9014-c4094f5e5033?forum=vbajp
で解決したようですが、こちらは正解が提示されているのに放置でしょうか?

マナーを守ってくださいね。

(本サイトの基本方針から引用)
> マルチポストについて
> 別のサイト(掲示板)にまったく同じ目的の投稿をすることを、一般に「マルチポスト」といいます。当質問箱では、マルチポストは原則認めています。つまり、ほかのサイトで質問したことをこのサイトで質問してもかまわないということです。
>
> しかし、もしマルチポストをするのなら、可能な限り「○○にも同じ質問を出しました」ということを宣言してください。そして、仮に他のサイトで解決したのなら、ここにも必ずその顛末を書いてください。質問しっぱなし、というのはモラルに反します。「解決したからいいや」というのではありません。

----------
ところで、あちらの解決しましたというコードについて言えば、
カタカナが1文字でも含まれているものに限定していますね。
カタカナは含まない場合の、全角の英数字が全角のまま残ってしまっています。
また、繰り返しのなかで何度もCreateObject("VBScript.RegExp")している点も改善すべきでしょう。

一方、亀マスタさん作成のコードは、漏れなく半角に変換されます。
正規表現を持ち出すまでもないということですね。


----------
ちなみに、
>セル参照のシート名はそのままにすることはできませんでしようか?
実は、
  For Each rTarget In Sht.UsedRange
    rTarget.FormulaLocal = StrConv(rTarget.FormulaLocal, vbNarrow)
  Next
とすれば、
シート名に全角カタカナが使われていて、シート名を半角に変換したものを
入力しても、「Excelが気を利かせて自動的に元の全角と認識してくれる」ようですね。
ですから、関数部分もシート名の部分も含め、
単純に上の処理でも結果オーライになっていたはずです。

これはやってみないと中々気づかない点ですな。

----------
なお、半角カタカナを求める指示そのものに違和感があります。
いまやビジネス現場でも半角カタカナは余り使用されないはずです。

67 / 13178 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free