• 締切済み

Excel:全角カタカナを入力時に自動的に半角カタカナにしたい

恐れ入ります。 Excel2007にて全角カタカナをASC関数などで半角カタカナに修正をしているのですが、列がふたつできてしまうため少し面倒です。 (元の全角の列、半角になおした列) 入力時に設定をしてしまうことは可能でしょうか。 入力の際に、カタカナが自動的に半角になるようにできれば とてもたすかります。 ご存じの方、どうぞよろしくお願い致します。

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

NO4です。 >上記の内容をペースト、その後は「実行」でよいのでしょうか。 ⇒ペースト→対象列又はセル範囲を変更→VBE画面を終了→対象セルに入力。  因みにworksheet、change選択を意識する必要ありません。

houchan
質問者

補足

たびたび申し訳ございません。 実行ボタンをクリックすると小さめのウィンドウがでまして 「マクロ名」の欄が空欄になっております。 マクロ名を入れないと実行できないようなのです・・。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

NO2です。 VBAしかできないと思いますので、以下の参考コードでお試し下さい。尚、対象をA列のみとしていますのでコード中の「Range("A:A")」 を調整して下さい。 (1)対象シートのシートタブ上で右クリック (2)以下のコードを貼り付け  Private Sub Worksheet_Change(ByVal Target As Range) Dim myWK As String On Error GoTo error If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub myWK = Target.Value Application.EnableEvents = False Target.Value = StrConv(myWK, 8) Application.EnableEvents = True error: End Sub

houchan
質問者

補足

何度も申し訳ございません。 対象シートを右クリック、worksheet changeの下の欄に 上記の内容をペースト、その後は「実行」でよいのでしょうか。 時間がないため、ゆっくり調べることができず 伺ってばかりで申し訳ございません・・

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

これはVBAそれもイベントという概念をVBAで理解せねばならず 初心者向けの課題ではないでしょう。 教えてもらったとおりやってよしとするなら Sheet1などの Change イベントに下記を作れば出来ると思う。少数のテスト済み。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then 'A列限りで Target = StrConv(Target, vbNarrow) End If End Sub ーー ただし全角数字も半角化してしまう 1文字ずつ全角カタカナかを聞いて、半角化するのは文字コードの知識が要り、複雑化すると思うので略。 例 東京オーケストラ チャイナタウン横浜 オーボエ奏者と第一バイオリンが 第2バイオリン (注 OKWAVEでは全角かされるかもしれないが、上記実行結果は、カタカナは半角)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

対象範囲を選択→データタブのデータツールグループにある「データの入力規則」→日本語入力タブの日本語入力欄で半角カタカナを選択で 如何でしょうか。

houchan
質問者

補足

ありがとうございます。 説明が不十分で申し訳ございませんでした。 漢字やひらがなはそのままにしてカタカナのみを 半角にしたいのですが・・。 よろしくお願い致します。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

入力規則で設定出来ます。 http://kokoro.kir.jp/excel/nkisoku_ime.html

houchan
質問者

補足

ありがとうございます。 説明が不十分で申し訳ございませんでした。 漢字やひらがなはそのままにしてカタカナのみを 半角にしたいのですが・・。 よろしくお願い致します。