[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『漢数字を算用数字に変換する方法』(masabou5)
一二三-四五六七・・・ 等の漢数字を算用数字(123-4567)のように変換する方法はありませんか?
VBAでも結構です。よろしくお願いします。
For Each c In Selection c.Offset(, 1).Value = StrConv(Application.GetPhonetic(c.Value), vbNarrow) Next c こんなので、いかがでしょう。 選択セルの右隣の列へ書き出します。 複数列で選択しないようにしてください。 (KAMIYA)
KAMIYAさん、こんばんワ。やってみたんですが、右隣の列に[ヒフミーヨンゴロクシチ] と半角で表示されます。オラのやり方が悪いのでしょうか?詳しく全文載せてくださいませんか。 masabou5さん、横から失礼します(kobi)
A1セルの漢数字+"-" を 数字+"-"に直してB1セルに表示します。 見ての通り、一文字ずつの変換です。 Sub 漢数字変換() Dim 文字 As String Dim 漢数字 As String Dim 文字数 As Integer Dim i As Integer 文字 = Cells(1, 1).Value 文字数 = Len(文字) For i = 1 To 文字数 If Mid(文字, i, 1) = "一" Then 漢数字 = 漢数字 + "1" End If If Mid(文字, i, 1) = "二" Then 漢数字 = 漢数字 + "2" End If If Mid(文字, i, 1) = "三" Then 漢数字 = 漢数字 + "3" End If If Mid(文字, i, 1) = "四" Then 漢数字 = 漢数字 + "4" End If If Mid(文字, i, 1) = "五" Then 漢数字 = 漢数字 + "5" End If If Mid(文字, i, 1) = "六" Then 漢数字 = 漢数字 + "6" End If If Mid(文字, i, 1) = "七" Then 漢数字 = 漢数字 + "7" End If If Mid(文字, i, 1) = "八" Then 漢数字 = 漢数字 + "8" End If If Mid(文字, i, 1) = "九" Then 漢数字 = 漢数字 + "9" End If If Mid(文字, i, 1) = "〇" Then 漢数字 = 漢数字 + "0" End If If Mid(文字, i, 1) = "-" Then 漢数字 = 漢数字 + "-" End If Next i Cells(1, 2).Value = 漢数字 End Sub 何のテクニックもないコードです (マーヤ)
>kobiさん getphoneticは入力状況に左右されるようです。 そーか、そういう風に入力して辞書変換すると、確かに使えませんねぇ。 「ヒフミーヨンゴロクシチ」はそのように入力されているのが 目に浮かびます。「フリガナ」に「123」になっていても 見事に「ヒフミ」になってしまいます。 ケンショウブソクのため「却下」でお願いします。 他の方法考えてみます。 (KAMIYA)
ありゃ、また横から入って迷惑かけてる?そーか、数字で入力してあるのか・・・・ でも再現できず、。。。 頭も連休 (kobi)
というわけで(?)雪辱戦です。 範囲選択して実行してください。セルの漢数字を半角アラビア数字に 置き換えます。ついでにハイフォンも半角にします。
Sub 漢数字TOアラビア数字() Dim i As Integer Dim c As Range Dim vardata(0 To 9) As String
For i = 0 To 9 vardata(i) = Mid("〇一二三四五六七八九", i + 1, 1) Next i
For Each c In Selection For i = 0 To 9 c.Value = WorksheetFunction.Substitute(c.Value, vardata(i), i) Next i c.Value = StrConv(c.Value, vbNarrow) Next c
End Sub (KAMIYA)
これと同じ質問を以前にみたけど、そのときのmasabou5さんとは違う人なりか? それともこの時とは違う質問? (ramrun)
[[20030904062745]]『住所録の三−八八などを3−88のように』(masabou5)
出かけていて御礼が遅くなり、すみませんでした。 KAMIYAさん、マーヤさん、kobiさん、ありがとうございました。 確認できました。お陰様で簡単に変換することが出来ました。
尚、ramrumさん、おっしゃるとおり同一人物です。あの時はまだよく理解できず、 又同じような質問を出してしまいました。すみませんでした。 しかし、マクロとユーザ定義関数の両方を理解することが出来ました。 心から感謝申し上げます。(masabou5)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.