
No.5ベストアンサー
- 回答日時:
回答No.4です。
先程挙げたVBAマクロの中に、(試行錯誤を行っていた時に付けたまま、削除し忘れていた)必要のない部分が残っておりました。
削除し忘れていた部分は、必要が無いというだけで、残したままでも動作上は特に問題は無いと思いますが、一応、不要部分を削除したものも挙げておきます。
Sub Macro01()
Dim a As String '置換前の文字列
Dim b As String '置換後の文字列
Dim i As Integer
a = "aaaアアア<>BBB"
b = a
For i = 31850 To 31936
b = Replace(b, StrConv(Chr(-i), vbNarrow), Chr(-i))
Next i
End Sub
Sub Macro02()
Dim i As Integer
For i = 31850 To 31936
Selection.Replace What:=StrConv(Chr(-i), vbNarrow), Replacement:=Chr(-i)
Next i
End Sub
No.6
- 回答日時:
Mougに正規表現を使うコードがありました。
<参考>
正規表現を利用して半角カナを全角に変換する(RegExpオブジェクト)
http://www.moug.net/tech/exvba/0140015.html
No.4
- 回答日時:
文字列型変数aに入っている文字列の中のカタカナのみを半角から全角に変換して、変数bに格納するのでしたら次の様なVBAマクロになります。
Sub Macro01()
Dim a As String '置換前の文字列
Dim b As String '置換後の文字列
Dim i As Integer
a = "aaaアアア<>BBB"
b = a
For i = 31850 To 31936
b = Replace(b, StrConv(Chr(-i), vbNarrow), Chr(-i), 1, -1, vbTextCompare)
Next i
End Sub
又、選択したセル範囲内のセルに入力されている文字列の中のカタカナのみを半角から全角に変換するのでしたら次の様なVBAマクロになります。
Sub Macro02()
Dim i As Integer
For i = 31850 To 31936
Selection.Replace What:=StrConv(Chr(-i), vbNarrow), Replacement:=Chr(-i), MatchByte:=True
Next i
End Sub
No.3
- 回答日時:
No.2
- 回答日時:
半角 カタカナ の濁点「゛」・半濁点「゜」は、全角カタカナでは、直前の文字と一体に(1 文字に)なっています。
そのため下のコードでは、(1)一旦 StrConv 関数で全ての半角の文字を全角にし、(2)アルファベット、「<」、「>」などの半角だった文字のうちカタカナ以外のものを Replace により半角に戻すよう置換する、という手順で処理してみます。文字列中の各文字がアルファベットか否かは、Asc によりその文字コードに基づいて判定し、Chr で文字に戻すというふうにしています。
具体的な文字コードがいくつなのか知りたい場合は、上の Asc とか、Excel のワークシート関数 CODE などで調べてください。あるいはインターネットで検索してください。
Sub test()
Dim v1 As Variant, v2 As Variant, a As String, i As Long
v1 = Array("<", "=", ">", "(", ")", "+", "-", "*", "/", "^", ",", ":")
v2 = Array("<", "=", ">", "(", ")", "+", "-", "*", "/", "^", ",", ":")
If UBound(v1) <> UBound(v2) Then
MsgBox ("置換前後の文字の種類数が揃っていないので、マクロを終了します。")
Exit Sub
End If
a = "aaaアアア<>BBB"
a = StrConv(a, vbWide)
For i = 0 To UBound(v1)
a = Replace(a, v1(i), v2(i))
Next i
For i = Asc("A") To Asc("Z")
a = Replace(a, Chr$(i), Chr$(i + Asc("A") - Asc("A")))
Next i
For i = Asc("a") To Asc("z")
a = Replace(a, Chr$(i), Chr$(i + Asc("a") - Asc("a")))
Next i
Debug.Print a
End Sub
No.1
- 回答日時:
マニュアルで順次選択変換するのでしたら、次で出来ます。
a = "aaaアアア<>BBB"
アアアの先頭にマウスを持ってきて、左マウスボタンを押しながら半角部分の最後まで進めてアアアが全部選択された状態にします。
次に右マウスボタンをクリックすると、ハンカクに変換、全角カタカナに変換 等のメニューが表示されるので、 全角カタカナに変換 を選択します。
上記は秀丸での例です。(IME入力機能を使用)
TeraPadでは同様に操作後、アアアが全部選択された状態で右クリックし、変換(V)にマウスを合わせ、
全角に変換(Z) (半角に変換(H).....)をクリックします。
なおfirefoxやthunderbird等では、入力済み文字列の全角半角の変換は簡単には出来ないようです。
(上記のアアア等は殆どが半角で入力したのですが、確認するの表示窓では全角で表示されています)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルでひらがな・漢字はそのままでカタカナを全角・英数字を半角にする方法
Excel(エクセル)
-
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
「Ms-Excel」の関数「UボードのUのみを半角にしたい」についての質問
Excel(エクセル)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
エクセルvba カタカナは全角、それ以外は半角に
その他(Microsoft Office)
-
6
【ExcelVBA】英数記号の半角変換
Excel(エクセル)
-
7
特定の列の値を、ひらがな・漢字はそのままで、 カタカナを全角、英数字を半角に変換する
Excel(エクセル)
-
8
WordやExcelで英数字のみ半角または全角にしたい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
半角の×(かける)は?
-
EXCELで、セル内の半角カ...
-
℃の半角表示
-
Excel 文字列の中から数字だけ...
-
半角の『°(単位の度)』
-
EXCELの文字列操作で文字数不足...
-
英文字を手打ちの状態にしたい
-
隅付き括弧に半角はありますか...
-
12000文字以内。Wordです。スペ...
-
ローマ数字 IV
-
半角αを全角αにしたい
-
エクセル関数で文字列の中のス...
-
契約書や 公文書・私文書などに...
-
スマホで入力方法について教え...
-
△
-
VBAの正規表現について教えてく...
-
Word2003で半角カタカナが全角...
-
ZIPファイルのパスワードについて
-
TeXで半角中点を入れたいのですが
-
『/』の逆を入力したいのに。。。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
契約書や 公文書・私文書などに...
-
EXCELの文字列操作で文字数不足...
-
半角スペース
-
℃の半角表示
-
テプラは半角数字が使えますか?
-
半角の×(かける)は?
-
エクセル関数で文字列の中のス...
-
半角の『°(単位の度)』
-
EXCELで、セル内の半角カ...
-
Excel 文字列の中から数字だけ...
-
メールアドレスの上ハイフン入...
-
EXCEL95 VLOOKUP関数で半角と全角
-
Excel2016 検索の窓を常時表示...
-
エクセルで、JIS関数、ASC関数...
-
お名前(姓)」には「カタカナ(...
-
エクセルで 全角の空白を含む...
-
【VBA】ファイルパスに半角スペ...
-
エクセルでひらがな・漢字はそ...
-
ヘッダー(フッター)の全角・...
-
ビジネスの文書における、数字...
おすすめ情報