• ベストアンサー

エクセルのふりがなの関数について

あとから貼り付けたデータなどで、エクセル内にふりがな情報が無い 文書にフリガナをつける方法を教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.4

次のマクロを実行すると振り仮名が設定されます。 10~12行目を実情に合わせて設定してください。 Sub rubi_uchi() 'ルビ打ち、非表示 Dim retsu As String Dim cel_ichi As String Dim rec As Long Dim kana As Variant Dim strPhoText As Variant Dim start_rec As Long Dim end_rec As Long retsu = "A" '    列を指定 start_rec = 1 '   開始行を指定 end_rec = 1000 '   終了行を指定 For rec = start_rec To end_rec   cel_ichi = retsu & CStr(rec)   Range(cel_ichi).Select   strPhoText = ActiveCell   kana = Application.GetPhonetic(strPhoText)   ActiveCell.Characters.PhoneticCharacters = kana   If Not IsEmpty(strPhoText) Then     ActiveCell.Phonetics(1).CharacterType = xlHiragana     'ActiveCell.Phonetics(1).CharacterType = xlKatakana     Selection.Phonetics.Visible = False   End If Next rec End Sub

その他の回答 (4)

noname#4564
noname#4564
回答No.5

> ただ、一つ一つのデータにこの作業を繰り返さなければならないのですか? > 一度に処理する方法はありますでしょうか? その答えはすでに書いてあります。 > すいません・・・初心者過ぎて恥ずかしいのですが、、、 > 具体的にどうすればいいのか下記を見てもわかりませんでした・・・ > 例えば何を開いて何を設定するとか・・・ 具体的な使用方法ですが、No.3のプログラムコードをマクロから呼び出して ください。 手順は、以下の通りです。    (1)対象となるExcelブックを立ち上げる。  (2)[ツール] メニュー - [マクロ] - [Visual Basic Editor] を実行。  (3)VBエディタの [挿入] メニュー - [標準モジュール] を実行。  (4)上記のプログラムコードをコピー & ペーストする。  (5)ワークシートのメニューより、[ツール] - [マクロ] - [新しいマクロ     の記録] を選択。  (6)マクロ名を入力し、[OK]ボタンをクリック。  (7)[ツール] - [マクロ] - [記録終了] を選択。  (8)[ツール] - [マクロ] - [Visual Basic Editor] を選択。  (9)作成された新規のマクロへ下記のように記述すれば完成です。    Sub Macro1()  '  ' Macro1 Macro  ' マクロ記録日 : 2003/02/09 ユーザー名 : nanashinogombei  '   Call GetKanaSimple("Sample", 1, 2, 2, 30)  '  End Sub     「Sampleの1列目(A列)2行 - 30行に入力されている漢字をカタカナに変換して、 2列目(B列)に出力する」処理となります。

noname#4564
noname#4564
回答No.3

> ご回答ありがとうございます。 > エクセルのマクロ等、まったく初心者なので、GetPhoneticメソッドの > 使い方(設定?)を教えてください。 > ワークシート関数のPHONETIC を使っても、漢字のままでてきてしまいます。 例えば、A1のフリガナが欲しい場合は、まず、A1のセルを選択して、 メニューの[書式] - [ふりがな] - [編集]を選択して<Enter>キーを 叩いてください。その後、カナを表示したいセルに、 =PHONETIC(A1) のように関数式を記述すればOKです。 GetPhoneticメソッドは、一例ですが、下記のように使います。 Option Explicit Public Function GetKanaSimple(ByRef strWorkSheetName As String, _ ByVal InColmn As Long, _ ByVal OutColmn As Long, _ Optional ByVal StartRow As Long = 1, _ Optional ByVal EndRow As Long = -1) '************************************************************************************* ' '機  能 : 指定範囲のセルに格納された漢字をカタカナに変換し、別の列に出力する。 ' '引  数 : strWorkSheetName 処理対象ワークシート名(通常はActiveSheet.Nameで可) ' InColmn 入力列番号 ' OutColmn 出力列番号 ' StartRow 開始行(省略可) 規定値は1 ' EndRow 終了行(省略可) 規定値は有効セルの最終行 ' '戻 り 値 : 変換後の文字列。 ' '************************************************************************************* Dim i As Long '処理対象範囲の終了行が指定されていない場合は、入力済み範囲の最終行とみなす。 If EndRow = -1 Then EndRow = Worksheets(strWorkSheetName).UsedRange.Rows.Count End If With Worksheets(strWorkSheetName) '指定範囲の開始行から終了行まで順次処理する。 For i = StartRow To EndRow '変換されたカタカナを指定のセルに入力する。 .Cells(i, OutColmn).Value = Application.GetPhonetic(.Cells(i, InColmn).Value) Next i End With End Function

gloomy
質問者

補足

ありがとうございます。 >例えば、A1のフリガナが欲しい場合は、まず、A1のセルを選択して、 >メニューの[書式] - [ふりがな] - [編集]を選択して<Enter>キーを >叩いてください。その後、カナを表示したいセルに、 >=PHONETIC(A1) >のように関数式を記述すればOKです。 できました。 ただ、一つ一つのデータにこの作業を繰り返さなければならないのですか? 一度に処理する方法はありますでしょうか? >GetPhoneticメソッドは、一例ですが、下記のように使います。 すいません・・・初心者過ぎて恥ずかしいのですが、、、 具体的にどうすればいいのか下記を見てもわかりませんでした・・・ 例えば何を開いて何を設定するとか・・・ よろしくお願いします。

noname#4564
noname#4564
回答No.2

Excel 2000以上なら、GetPhoneticメソッド、または、ワークシート関数のPHONETIC を使用すればできます。

gloomy
質問者

補足

ご回答ありがとうございます。 エクセルのマクロ等、まったく初心者なので、GetPhoneticメソッドの 使い方(設定?)を教えてください。 ワークシート関数のPHONETIC を使っても、漢字のままでてきてしまいます。 あとこのエラーはいったい?「=#N/A」 よろしくお願いします。

  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.1

Excel2002でやりましたので他のバージョンで出来るかは不明です。 書式→ふりがな→編集でふりがなが表示されます。合っていればそのままです。 違って居れば変更して下さい。 次に、書式→ふりがな→表示/非表示 でふりがなが表示されます。

gloomy
質問者

補足

ご回答ありがとうございます。 データの並べ替えに利用したいため、ふりがなだけを別のセルに表示させる 方法はありますか? また、大量のデータに一度にふりがなをつける事はできますか? よろしくお願いします。

関連するQ&A