dポイントプレゼントキャンペーン実施中!

ワード2000で差し込み印刷をしたいと思っています。
しかし、2000ではエクセルから住所録を読み込む場合、
算用数字を読み込むと横で表示されてしまいます。
そこでエクセル2000で算用数字を漢数字に変換しなければなりません。
算用数字を漢数字に変換するのに簡単な方法はないですか?

私が考えている方法は、1~9の数字を検索して
漢数字に変換していく方法です。
住所の列だけを対象に一括で変換することはできないのでしょうか?
全ての範囲を対象とすると一括変換できるのですが、
郵便番号は算用数字のままでいいので、
変換する必要がないのです。

質問が分かりにくいかもしれないですが、
宜しくお願いします。

A 回答 (5件)

???


>> 私が考えている方法は、1~9の数字を検索して
>> 漢数字に変換していく方法です。

これでできるでしょう。
例えばB列が住所であるなら,
B列を選択して,そのままの状態で,
「編集」→「置換」で
検索する文字列 1
置換後の文字列 一
「すべて置換」をクリック。

マクロを使う方法もありますが,大量のExcelファイルを短時間で処理する場合には良いかもしれませんが,
ほんの数ファイルのExcelファイルだとこれの方が早い気がします。

この回答への補足

ということは0~9までを変換する場合は
10回やれば済むということですね?

マクロは難しそうなのでまたの機会としたいと思います。

補足日時:2005/12/11 15:31
    • good
    • 0

数字だけのセルなら


=NUMBERSTRING(数字,処理)
で変換できます。
処理
1:123→百二十三
2:123→壱百弐拾参
3:123→一二三

上記以外だとマクロやユーザー定義関数の作成ですね。
作るのが面倒ならアドインのフリーソフトです。(漢数字で検索すると結構出てきます。)
漢数字変換君
http://www.vector.co.jp/soft/win95/personal/se11 …
登記申請書作成 関数集(XL2002)
http://www.vector.co.jp/soft/win95/business/se30 …
便利ツール (Ver 2.210) 【Moug.Netへのユーザー登録要】
http://www2.moug.net/cgi-bin/softwaredl.cgi?exce …
    • good
    • 1

こんばんは。



以下は、ちょうど、2年前に、ご質問者と同じ、Wordの差込印刷用に作られた、私の作ったExcel用のマクロです。これは、簡単なマクロですから、今年は、つかえなくても、来年に住所録のVBEのシートモジュールに入れておいて、思い出したら、読み直して使ってください。

これは、コントロールツールのコマンドボタンで、セルポインターを、データの一番上の行に置いて、ボタンを押すと変換します。半角郵便番号だけは変換しないようなオプションをつけました。

'ボタン-右クリック-コードの表示で、貼り付ける

Private Sub CommandButton1_Click()
  'アラビア数字から漢数字へ
  Dim myRange As Range
  Dim sanFig As Variant
  Dim kanFig As Variant
  Dim c As Range
  Dim i As Integer
  If IsEmpty(ActiveCell) Then Exit Sub
  Set myRange = Range(ActiveCell, Cells(65356, ActiveCell.Column).End(xlUp))
  Application.ScreenUpdating = False
  sanFig = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "―")
  kanFig = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九", "-", "-")
  For Each c In myRange
   If Not (c.Value Like "###-####" Or c.Value Like "〒###-####") Then
     For i = 0 To 11
      c.Replace What:=sanFig(i), Replacement:=kanFig(i), LookAt:=xlPart, _
      MatchCase:=False, MatchByte:=False
     Next i
   End If
  Next c
  Set myRange = Nothing
  Application.ScreenUpdating = True
  MsgBox "漢数字に変換しました。"
End Sub
'---------------------------------------------------
'こちらは、変換されたものを元に戻すマクロです。
Private Sub CommandButton2_Click()
'漢数字からアラビア数字へ
  Dim sanFig As Variant
  Dim kanFig As Variant
  Dim i As Integer
  Dim myRange As Range
  Dim c As Range
  Application.ScreenUpdating = False
  kanFig = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九", "-", "―")
  sanFig = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "-")
  Set myRange = Range(ActiveCell, Cells(65356, ActiveCell.Column).End(xlUp))
  For Each c In myRange

     If c.Value Like "*[〇一二三四五六七八九[-]]*" = True Then
     If InStr(c.Value, "〇") = 1 Then c.Value = "'" & c.Value
   For i = 0 To 11
      c.Replace What:=kanFig(i), Replacement:=sanFig(i), LookAt:=xlPart, _
      MatchCase:=False, MatchByte:=False
   Next i
   End If
  Next c
  Application.ScreenUpdating = True
  MsgBox "アラビック数字に戻しました。"
End Sub
    • good
    • 0

ユーザー関数という、方法もある。


VBEの標準モジュールに
Function hen(a)
b = "0123456789"
s = a
For i = 0 To 9
s = Replace(s, Trim(Str(i)), Mid(b, i + 1, 1))
Next i
hen = s
End Function
を貼り付け、
A列に住所が入っているとして
B1セルに
=hen(A1)
と入れてB2以下に式を複写する。
港町123港町123
12341234
柳町2丁目2-12柳町2丁目2-12
柳町312番地の1柳町312番地の1
VBAともいえるので、嫌いなら無視してください。
    • good
    • 0

お求めの答えでないかもしれませんが、半角数字でなく全角数字だと縦書きでも数字が縦に並びますよね?



半角→全角の変換なら以下の関数でできます。
=JIS(セル番号)

一度別の所にこの関数で変換し、コピーして
形式を選択して貼り付け-値
で元の所に貼り付けたらいかがでしょう。
    • good
    • 0

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