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

 エクセル87で住所録を作って「1-2-34」等と入力していますが、それをワード98のはがき宛名印刷で印字すると「1-2-34」が横になります。
 エクセルで住所の列だけ「1-2-34」を「一-二-三四」などのように一括で漢数字に変換したいのですが、簡単な方法はあるでしょうか? よろしくお願いします。

A 回答 (3件)

表示形式=TEXT(C1,"[DBNum1]G/標準")などはC1セルが半角数字で無いと上手く行かないようです。

住所を数字部分と漢字部分に部分に別セルに分けられれば使えるかもしれない。
住所漢字部分と丁目番地が1セルに混在しているときのために、数字を漢数字に変える、ユーザー定義の関数を作ってみました。
ツール-マクロ-BVEでVBEの画面になる。
そこで挿入-標準モジュールで出てくる画面に下記を
コピペする。
Function kansuj(a)
tb = Array("〇", "一", "ニ", "三", _
"四", "五", "六", "七", "八", "九")
For i = 1 To Len(a)
s = Mid(a, i, 1)
'---ハイフン
If s = "-" Then
st = st & "-"
GoTo p01
End If
'----数字 全角、半角
If IsNumeric(s) Then
If s >= "0" And s <= "9" Then
p = Application.WorksheetFunction.Asc(s)
st = st & tb(p)
GoTo p01
Else
st = st & tb(Val(s))
GoTo p01
End If
End If
'----その他全角文字
st = st & s
p01:
Next i
kansuj = st
End Function
使い方はA列に住所があるとして、B1に
=kansuj(A1)といれてB2以下に式を複写する。
(結果)
大田区目黒123-1大田区目黒一ニ三-一
関東1-23関東一-ニ三
三七,六五三三七六五三
一一
三八,〇四八三八〇四八
あ1-2-3あ一-ニ-三
三七,六五三三七六五三
2no3ニno三
三三
1-2-3一-ニ-三
二三四ニ三四
1-2一-ニ
大阪市中央区道修町2-34大阪市中央区道修町ニ-三四
ASC234ASCニ三四
0〇

この回答への補足

体調が悪く遅くなりましたがお礼です。
これで所期の結果がえられました。ありがとうございました。

補足日時:2004/12/17 22:35
    • good
    • 1
この回答へのお礼

ありがとうございます。ちょっと風邪をひいて頭痛がしているので、収まってから実験させていただきます。

お礼日時:2004/12/09 11:14

よこから失礼します。



ご希望の結果は得る方法は#2の方が示されています。
補足というか、、出すぎたお節介なのですが、住所の場合は、アパート名などに全角半角のカタカナが混在する場合も考えられますので、それを考慮したマクロをご参考までに示します。

セル選択範囲内の数字のみを漢数字化し、カタカナや記号等は全角半角を保持したままになります。

'選択したセル範囲の、数字だけを漢数字に置きかえ
Sub 数字の漢数字化()

  On Error Resume Next
  Application.ScreenUpdating = False

  Dim num1, num2, num3
  Dim i As Integer
  Dim Rng As Range

  num1 = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0")
  num2 = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0")
  num3 = Array("一", "二", "三", "四", "五", "六", "七", "八", "九", "〇")

  For Each Rng In Selection
    '数字のみ半角に統一
    For i = 0 To 9
      Rng.Value = Replace(Rng.Value, num1(i), num2(i))
    Next i
    '漢数字化
    For i = 0 To 9
      Rng.Value = Replace(Rng.Value, num2(i), num3(i))
    Next i
  Next Rng
  Application.ScreenUpdating = True

End Sub
    • good
    • 0
この回答へのお礼

体調が悪く、遅くなりましたが、ご教示たいへんありがとうございました。

お礼日時:2004/12/17 22:37

こんにちは。



住所の列を選択して、
「1」→「一」
「2」→「二」
...
「9」→「九」
「0」→「〇」
と十回置換するのが一番簡単で早いと思います。
いかがでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。ただ、2回目以降も同じことをやるのがすこしつらくて…

お礼日時:2004/12/09 11:11

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