アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話様です。
質問です。

たとえば、「今日のニューヨークは晴れです」という文章を
「キョウノニューヨークハハレデス」というように、半角カタカナに一発で変換することは可能でしょうか?

仕事で商品などを登録する際に半角カタカナでの入力が原則なので、
ひとつひとつ手作業で変換するのは非常に時間がかかってしまいます。

ほかのデータから引っ張ってくることが多いので、phonetic関数は使えないようです。

現在は先輩の作った変換FMがあるのですが、別途立ち上げる必要がありますし、データが重いので会社の貧弱なスペックのパソコンではすぐフリーズしてしまいます。

できれば、A1に「今日のニューヨークは晴れです」とあれば、B1に自動で「キョウノニューヨークハハレデス」と表示されると楽なのですが・・・

何かいい方法をご存知の方がいらっしゃれば教えていただきたいです。
よろしくお願いいたします。

A 回答 (3件)

VBAを経験して無いだろうが、小数行数のコードなので上げておく。


例データ
今日のニューヨークは晴れです
今日は秋田の山で初雪が降った。
ーー
テストするには、メモ帳ででも、上記文章を作り、エクセルのセルにコピペすること。<=ほかのデータから引っ張ってくることが多いので、phonetic関数は使えないようです。<=良く判りましたね。この点からの注意事項です。
ーーー
VBAコード
標準モジュールに
Sub test01()
For i = 1 To 2
x = Cells(i, "A")
Cells(i, "B") = StrConv(Application.GetPhonetic(x), vbNarrow)
Next i
End Sub
ーーーー
半角カナにしている。Application.GetPhonetic(x)だけだと全角に
なるようだ。
ーー
結果
キョウノニューヨークハハレデス
キョウハアキタノヤマデハツユキガフッタ。
ーーー
!!!この変換は絶対ではない。再度良く人間がチェックのこと。
でも大幅省力化になると思う
ーーー
ユーザー関数化するには
標準モジュールに
Function kana(a)
kana = StrConv(Application.GetPhonetic(a), vbNarrow)
End Function
ーー
セルでは=kana(A1)と入れる。
===
VBAに関連したことは、ちょっとだけ勉強のこと。
下記語句などでWEB照会して勉強。
VBE画面
VBA 標準モジュール
ユーザー関数
For Next
最下行を捉える
VBA Cells
Application.GetPhonetic
などGoogleででも照会のこと。沢山記事が出るだろう。
    • good
    • 0
この回答へのお礼

早速の返答ありがとうございます。
確かに先輩の変換FMはVBEを使って変換しているようですので、
このような返答がくるだろうと予想はしていました。
自分でも作れるようになれば一番なのですが、今の私には少し敷居が高いようです。。。
もう少しVBEの基本を勉強してから実践してみようと思います。
それまでは、使いにくいですが、先輩FMを使います(++)

お礼日時:2009/11/04 20:15

エクセルに正しくキーボードから入力された文字なら



=PHONETIC(A1)

で変換されますが、別の場所からコピペで持ってきた様な
文字列は読み仮名の情報を持っていないので、変換は難しいです。
    • good
    • 0

範囲指定してスペースの横の変換ボタンを押しf7で全角カナf8で半角カナに変換します。

    • good
    • 1

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