[[20030904062745]] 『住所録の三−八八などを3−88のように』(masabou5) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『住所録の三−八八などを3−88のように』(masabou5)

ユーザー定義関数を使って、住所録の三−五−八八などを3−5−88のように
 漢数字を算用数字に変換する方法を教えて下さい。


 ユーザー定義関数があるのなら、それを普通に関数を使うのと同じようにセルに
 関数名を入れればいいのです。

 関数がないので、そのヒントをくれというのなら、

 Function k2num(ByVal Kan As String) As String
 Dim Suji As String, I, N As Single
 Suji = ""
  For I = 1 To Len(Kan)
    N = InStr("一二三四五六七八九〇", Mid(Kan, I, 1))
    If N = 0 Then
      Suji = Suji & Mid(Kan, I, 1)
    Else
      Suji = Suji & Mid("1234567890", N, 1)
    End If
  Next I
  k2num = Suji
 End Function

 です。

 Alt + F11 ⇒ 挿入 ⇒ 標準モジュール
 で、白紙のところへ、上のコード入力
 Alt + F11
 です。関数名 k2num です。

 例⇒ =k2num(A3)

 (通りすがりの者)

 k2numという名前の付け方を見ると[通りすがりの者]さんが
 職業プログラマだとわかってしまいます。
 (私も同類プログラマ・kazu)

 そんなに言われるとすごくうれしいのですが、ぼくは、プログラマーに
 なりたいなりたいと思っているプログラマーもどきで、残念なことに、プロでは
 ありません。実質的にもやはりプロの人には負けるので、ぼくは、パールや
 ジャバスクリプトは書けるのですが、Java は書けないのです。子供に、いつも馬鹿に
 されています。昔は C もよく使いましたが、正直言って、このごろのオブジェクト
 志向にはついて行ききれていません。(通りすがりの者)

質問者のmasabou5です。

[通りすがりの者]さん、早速のご回答、ありがとうございました。
お恥ずかしいのですが、式の簡単な解説をお願いできませんでしょうか?

もことに申し訳ありません。よろしくお願いします。



masabou5です。

[通りすがりの者]さん、本当にありがとうございました。

マクロ初心者なので、もっともっと勉強します。
また、いろいろ教えて下さい。

先ずは御礼まで。


 メインの課題は解決しそうなので、少し横道に。

 [通りすがりの者]さんへ
 Perl やJavaScript が使えるなら、Javaもそれほど違いはありません。

 オブジェクト指向は私も悩まされましたが、
 基本は自分でしないで済む事は他人[クラス]に任せるということです。

 クラスに処理を頼んだら、あとは知らないですむわけです。
 サブルーチンと基本的に違うのはクラスを呼び出して、あと返ってこないことです。

 必要なら、再度クラスに対して、お伺いをたてればよいのです。

 少しえらそうに書きましたが。
(kazu)

 そうだそうですね。クラスというものになじんだら、あとはどうにかなるでェと、
 子供にも言われています。おそらく、近い将来、やらざるを得ない状況に遭遇する
 だろうと思います。その時を楽しみにしております。またその節は、いろいろお世話に
 なるかもしれません。

 なるほど、クラスですか。おかげさまで、また一歩、java に近づいて行く感じです。
 (通りすがりの者)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.