Gizport
1 回答
0
Share (facebook)
858
view
全般

ExcelVBAで、フォームを使用してフリガナ表示をさせたいです。 ...

ExcelVBAで、フォームを使用してフリガナ表示をさせたいです。 いつも皆様の知恵をお貸しいただき、ありがとうございます。

Excel2003を使用しています。
Excelでフォームを使用して入力した際、
同じセル内にふりがなが表示されるように設定したいのです。

現在は、

Private Sub cb_touroku_Click()

Dim 氏名 As String

Range("B1").Select
If Range("B2").Value <> "" Then
Range("B1").End(xlDown).Select
End If

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = tb_name

Do While ActiveCell.Offset(0, -1).Value <> ""

If 氏名 = "*" Then
ActiveCell.Value = "*"
Exit Do
ElseIf 氏名 = "" Then
Exit Do
Else
End If

Loop

End Sub

となっています。

「挿入」→「ふりがなの表示」の設定をしていますが、表示されないため困っています。
VBA初心者です、よい方法をご存じの方、知恵をお貸しください。

よろしくお願い致します。
Yahoo!知恵袋 5074日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
手打ち入力でなければ、ふりがな情報が無いので、表示されません。

GetPhoneticメソッドでふりがなが取得できます。
例をあげればこんな感じです。

With Activecell
.Phonetics.Visible = True
.Characters(1, Len(.Value)).PhoneticCharacters = Application.GetPhonetic(.Value)
End With

得られたふりがなが正しいとは限りません。
UserFormのTextBoxで取得し転記した方が良いかもしれません。

Dim phonetxt As String
phonetxt = Application.GetPhonetic(TextBox1.Value)
With ActiveCell
.Phonetics.Visible = True
.Characters(1, Len(.Value)).PhoneticCharacters = phonetxt
End With

いずれにしても、正しいかどうか検証が必要だと思います。


≫補足
下記のような感じでどうでしょうか。
TextBox2に、TextBox1に入力された文字のふりがなを表示します。
修正も出来ます。
y_sensさんのオリジナルコードは考慮していません。
良ければ、y_sensさんのコードに組み込んでください。

Private Sub CommandButton1_Click()
With ActiveCell
.Value = TextBox1.Value
.Phonetics.Visible = True
.Characters(1, Len(.Value)).PhoneticCharacters = TextBox2.Value
End With
End Sub

Private Sub TextBox1_Change()
Dim phonetxt As String
TextBox2.Value = Application.GetPhonetic(TextBox1.Value)
End Sub
Yahoo!知恵袋 5073日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
112
Views
質問者が納得まず CBD が宣言されずに使われています、 常に変数は宣言してから使いましょう。 タイプミスで思惑と事なる変数を使ってしまう人為ミスを防ぐ事が出来ます。 クリップボードへのコピーは出来て、ペーストが出来ないのですよネ? TextBox1.Paste で可能です。
4544日前view112
全般
93
Views
質問者が納得手打ち入力でなければ、ふりがな情報が無いので、表示されません。 GetPhoneticメソッドでふりがなが取得できます。 例をあげればこんな感じです。 With Activecell .Phonetics.Visible = True .Characters(1, Len(.Value)).PhoneticCharacters = Application.GetPhonetic(.Value) End With 得られたふりがなが正しいとは限りません。 UserFormのTextBoxで取得し...
5074日前view93

取扱説明書・マニュアル

関連製品のQ&A