- ベストアンサー
エクセルのふりがなの関数について
あとから貼り付けたデータなどで、エクセル内にふりがな情報が無い 文書にフリガナをつける方法を教えてください。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
次のマクロを実行すると振り仮名が設定されます。 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)
> ただ、一つ一つのデータにこの作業を繰り返さなければならないのですか? > 一度に処理する方法はありますでしょうか? その答えはすでに書いてあります。 > すいません・・・初心者過ぎて恥ずかしいのですが、、、 > 具体的にどうすればいいのか下記を見てもわかりませんでした・・・ > 例えば何を開いて何を設定するとか・・・ 具体的な使用方法ですが、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列)に出力する」処理となります。
> ご回答ありがとうございます。 > エクセルのマクロ等、まったく初心者なので、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
Excel 2000以上なら、GetPhoneticメソッド、または、ワークシート関数のPHONETIC を使用すればできます。
補足
ご回答ありがとうございます。 エクセルのマクロ等、まったく初心者なので、GetPhoneticメソッドの 使い方(設定?)を教えてください。 ワークシート関数のPHONETIC を使っても、漢字のままでてきてしまいます。 あとこのエラーはいったい?「=#N/A」 よろしくお願いします。
- HAL007
- ベストアンサー率29% (1751/5869)
Excel2002でやりましたので他のバージョンで出来るかは不明です。 書式→ふりがな→編集でふりがなが表示されます。合っていればそのままです。 違って居れば変更して下さい。 次に、書式→ふりがな→表示/非表示 でふりがなが表示されます。
補足
ご回答ありがとうございます。 データの並べ替えに利用したいため、ふりがなだけを別のセルに表示させる 方法はありますか? また、大量のデータに一度にふりがなをつける事はできますか? よろしくお願いします。
補足
ありがとうございます。 >例えば、A1のフリガナが欲しい場合は、まず、A1のセルを選択して、 >メニューの[書式] - [ふりがな] - [編集]を選択して<Enter>キーを >叩いてください。その後、カナを表示したいセルに、 >=PHONETIC(A1) >のように関数式を記述すればOKです。 できました。 ただ、一つ一つのデータにこの作業を繰り返さなければならないのですか? 一度に処理する方法はありますでしょうか? >GetPhoneticメソッドは、一例ですが、下記のように使います。 すいません・・・初心者過ぎて恥ずかしいのですが、、、 具体的にどうすればいいのか下記を見てもわかりませんでした・・・ 例えば何を開いて何を設定するとか・・・ よろしくお願いします。