こんにちは。
ご質問があります。
UserFormでTextBoxに名前を入力すると上のTextBoxにフリガナが自動で入力されるようになるまでは作成したのですがそれをシートに転記したときに漢字で書かれた方が転記されるセルと同じところにフリガナとして転記されるようにしたいのですが方法はございますか?
現在は隣のセルにフリガナを転記してるのですがUserFormを使わず、シートにそのまま打ち込んだ場合に、そのフリガナのセルにも手打ちで入力しなければならないといった感じで手間がかかります。
どうかお願いいたします
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
下記も参考までに書いてみます。
エクセルVBAの固有の話として。>転記されるセルと同じところにフリガナとして転記されるようにしたいのですが、からの発想です。
ーー
メモ帳に田中 一郎と入力しました。
コピーして、エクセルシートのA20(どこでもよい)に貼り付けしました。
ご存知かもしれませんがメモ帳をコピー張り付けすると、フリガナ情報(入力時仮名変換情報はメモ帳が保持する仕組みでないため)はコピー先と遮断されます。それで無理に(メモ帳入力に)このようにしました。
そして標準モジュールに
Sub test01()
Range("A20").SetPhonetic
Range("A20").Phonetics.Visible = True
End Sub
とし実行しましたら
A20に漢字名 田中 一郎の上にカタカナ小字でフリガナが振られました。
質問ではTextBox1.TextでセルA20に漢字氏名の値をセットし、その後上記の
コードを実行すれば、セル内にフリガナがセットされると思う。
このフリガナは入力時字のカナ漢字変換と関係なく、氏名漢字からIME辞書を参照して、一番適当と思われる読みを選んでセットしてくれるたものです。
ですから平凡な「明」のような漢字で「メイ」と読むのが正しいときなどは良くないかもしれないですが。
#2で書いておられることと思うがGetPhoneticも事情は同じです。
ありがとうございます。
いろいろ勉強になります。
いままでUserFormを使って登録してしまった所の修正にはとても便利です。わざわざ打ち直さなくてもよさそうですね。
ほんとにありがとうございました。
No.5
- 回答日時:
#02です
>隣のセルにフリガナを転記してるのですが
そのセルにTextBox2の内容を書き込めば良いのではありませんか?
もし漢字で入力した値の「ふりがな」もTextBox2の値にしたかったら、フォームで入力した内容を「転記」する際に
Target.Value = UserForm1.TextBox1.Text ’漢字表記を転記
Target.Phonetic.Text = UserForm1.TextBox2.Text ’漢字表記にふりがなを設定
Target.Offset(,1).Value = UserForm1.TextBox2.Text '隣のセルにふりがなを転記
を追加すればよいでしょう。(書き込むセルは「Target」で表しています)
ありがとうございます。
いろいろ勉強になります。
まだまだ勉強不足でほかの方が作成したものを数カ所変更して使用している段階ですので、こうすればいいんじゃないかというような発想は全くでてきませんでした。これからもっと勉強します。
試してみました。APIという方法でフリガナをふっていましがこちらの方法の方がわかりやすいです。
どうもありがとうございました。
No.4
- 回答日時:
Private Sub CommandButton1_Click()
行 = ActiveCell.Row
列 = ActiveCell.Column
With Cells(行, 列 + 2)
.Value = TextBox1.Text
.Phonetics.Delete
.Phonetics.Add 1, Len(.Value), TextBox5.Value
End With
Cells(行, 列 + 3).value = UserForm1.TextBox2.Value '会社名
Cells(行, 列 + 4).value = UserForm1.TextBox3.Value 'その他
Cells(行, 列 + 5).value = UserForm1.TextBox4.Value 'その他2
'必ず、プロパティは付ける事ですよ
End Sub
End Withが変なところ記述されていたので修正
ありがとうございます。
すばらしいです。できました。
これでフリガナの枠をなくすことができるうえ、漢字の部分だけで並び替えができるようになりました。
ほんとにありがとうございました。
No.3
- 回答日時:
Private Sub CommandButton1_Click()
行 = ActiveCell.Row
列 = ActiveCell.Column
With Cells(行, 列 + 2)
.Value = TextBox1.Text
.Phonetics.Delete
.Phonetics.Add 1, Len(.Value), TextBox5.Value End With
Cells(行, 列 + 3).value = UserForm1.TextBox2.Value '会社名
Cells(行, 列 + 4).value = UserForm1.TextBox3.Value 'その他
Cells(行, 列 + 5).value = UserForm1.TextBox4.Value 'その他2
'必ず、プロパティは付ける事ですよ
End Sub
No.2
- 回答日時:
ちょっとお試しください。
UserFormにTextBox1、TextBox2の二つのテキストボックスを貼り付けます。以下のマクロでTextBox1に入力したテキストのふりがながTextBox2に表示されますPrivate Sub TextBox1_Change()
TextBox2.Text = Application.GetPhonetic(TextBox1.Text)
End Sub
ただふりがなは「入力したとおり」にならない場合があります。
ですからTextBox2の方も表示しておいて、手で修正ができるようにしておけば良いですね
この回答への補足
ありがとうございます。
こちらの方法の場合、UserFormに入力したものをシートに転記した場合、表示されたフリガナも一緒に漢字のフリガナとして1つのセルに登録されるってことでしょうか?
No.1
- 回答日時:
コマンドボタン(Commandbutton1)クリックで
アクティブシートのセルA1に名前とフリガナを設定する例です。
Private Sub CommandButton1_Click()
With Range("a1")
.Value = TextBox1.Text
.Phonetics.Delete
.Phonetics.Add 1, Len(.Value), TextBox2.Text
End With
End Sub
因みに
>UserFormでTextBoxに名前を入力すると上のTextBoxにフリガナが自動で入力されるようになるまでは作成したのです
↑これは、API使用してのそれですか?
それともapplication.GetPhoneticメソッド?
この回答への補足
APIといった方法です。
今、下記の方法でコマンドボタン1のクリックにしてあります。
Private Sub CommandButton1_Click()
行 = ActiveCell.Row
列 = ActiveCell.Column
Cells(行, 列 + 2) = UserForm1.TextBox1.Value '氏名
Cells(行, 列 + 3) = UserForm1.TextBox2.Value '会社名
Cells(行, 列 + 4) = UserForm1.TextBox3.Value 'その他
Cells(行, 列 + 5) = UserForm1.TextBox4.Value 'その他2
Cells(行, 列 + 1) = UserForm1.TextBox5.Value 'フリガナ
UserForm1.TextBox1.SetFocus
Cells(行 + 1, 列).Select
End Sub
これをどのように変更したらいいのでしょうか?
無知で申し訳ありませんがよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userform転記のみ編集可 1 2023/06/29 11:03
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Excel(エクセル) Excelの50音順ソートを全ての行列に適用するには? 4 2022/12/05 11:28
- 戸籍・住民票・身分証明書 ご自分の氏名のフリガナを変えたい、と思ったことはありますか。 6 2023/02/04 07:51
- Visual Basic(VBA) 複数指定セルの可視セルのみを別シートに転記するVBAについて 2 2022/05/27 21:19
- 会社・職場 Excel、Googleスプレッドシートなどへのデータ入力 2 2023/07/06 05:59
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) excelにおける転記マクロの書き方 2 2023/05/12 03:16
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで横データを縦データに変換...
-
Excel2010でふりがなが漢字にな...
-
不明なコマンドです("FROM")。...
-
オペランドが足りませんとコメ...
-
【ExcelVBA】sheet作成時にマク...
-
WordPressをインストールしてい...
-
JWWでDXFファイルを開きたい
-
Access2010 「演算子がありませ...
-
VBA シートの切り替えができな...
-
エクセル/マクロ Exit Subが実...
-
貼り付けをマクロで禁止させたい。
-
ザウルスのLinuxでSEDのスクリ...
-
OBSが起動できません
-
(int)キャストとintvalの違い
-
エクセル DBから該当データを...
-
GhostからWin XPがインストール...
-
エクセルVBAで参照設定というフ...
-
『PHP』 MAMPで$_SERVER["REMOT...
-
筆ぐるめver12インストール中の...
-
マクロでエクセル内のアウトラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel2010でふりがなが漢字にな...
-
エクセルの文字間スペースを入...
-
VBAで横データを縦データに変換...
-
【マクロ】セルの塗りつぶし色...
-
UserFormのTextBoxからフリガナ...
-
エクセル シート内のハイパー...
-
Excelマクロの転記について
-
エクセルでアンケート結果の入...
-
RANDBETWEEN関数で0個または1つ...
-
Excelで同一セル内に入力されて...
-
Excelでコンソボックスの設定
-
不明なコマンドです("FROM")。...
-
Access2010 「演算子がありませ...
-
【ExcelVBA】sheet作成時にマク...
-
WordPressをインストールしてい...
-
オペランドが足りませんとコメ...
-
エクセル/マクロ Exit Subが実...
-
pythonでrequestsが使えない
-
VBA シートの切り替えができな...
-
mfc42.dllファイルってなんです...
おすすめ情報