性格悪い人が優勝

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

A 回答 (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
    • good
    • 0

> ただ、一つ一つのデータにこの作業を繰り返さなければならないのですか?


> 一度に処理する方法はありますでしょうか?

その答えはすでに書いてあります。

> すいません・・・初心者過ぎて恥ずかしいのですが、、、
> 具体的にどうすればいいのか下記を見てもわかりませんでした・・・
> 例えば何を開いて何を設定するとか・・・

具体的な使用方法ですが、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列)に出力する」処理となります。
    • good
    • 0

> ご回答ありがとうございます。


> エクセルのマクロ等、まったく初心者なので、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

この回答への補足

ありがとうございます。

>例えば、A1のフリガナが欲しい場合は、まず、A1のセルを選択して、
>メニューの[書式] - [ふりがな] - [編集]を選択して<Enter>キーを
>叩いてください。その後、カナを表示したいセルに、
>=PHONETIC(A1)
>のように関数式を記述すればOKです。
できました。
ただ、一つ一つのデータにこの作業を繰り返さなければならないのですか?
一度に処理する方法はありますでしょうか?

>GetPhoneticメソッドは、一例ですが、下記のように使います。
すいません・・・初心者過ぎて恥ずかしいのですが、、、
具体的にどうすればいいのか下記を見てもわかりませんでした・・・
例えば何を開いて何を設定するとか・・・

よろしくお願いします。

補足日時:2003/02/09 22:00
    • good
    • 0

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

この回答への補足

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

補足日時:2003/02/09 21:39
    • good
    • 0

Excel2002でやりましたので他のバージョンで出来るかは不明です。



書式→ふりがな→編集でふりがなが表示されます。合っていればそのままです。
違って居れば変更して下さい。

次に、書式→ふりがな→表示/非表示 でふりがなが表示されます。

この回答への補足

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

補足日時:2003/02/09 21:42
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!