[[20180818152754]] 『列ごと、携帯番号と固定電話の書式判定(同一セル』(フィロ) ページの最後に飛ぶ

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

 

『列ごと、携帯番号と固定電話の書式判定(同一セル)』(フィロ)

https://hep.eiz.jp/excel-insert-hyphen/#sec1

上を参考に、ユーザーフォーム(TextBox)からの転記で
指定列に、固定電話と携帯番号のハイフンありの書式を適用したいです。

ちなみに、実装したい番号が、固定電話が10桁(ハイフン省く)です。
携帯番号の11桁との整合性?についてもご教授頂ければと願います。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


固定電話が、000-000-0000になります。
固定電話と携帯番号それぞれのTextBoxを作るべきか悩んでおります。
(フィロ) 2018/08/18(土) 15:47

  >固定電話が、000-000-0000になります。

  ネットで調べると、電話番号って結構厄介なものらしいです。

  小笠原の村役場て、こんな番号ですよ
             ↓
            04998-2-3111  それでもフィロさんとしては、
           「049-982-3111」で構わないですか? 

 Yesなら話は簡単になりますけど・・

(半平太) 2018/08/18(土) 16:37


000-000-0000

000-0000-0000
のみ判定出来れば大丈夫です。
(フィロ) 2018/08/18(土) 16:57

     Dim Fmat As String

     Select Case Len(TextBox1.Text)
         Case 10:   Fmat = "000-000-0000"
         Case 11:   Fmat = "000-0000-0000"
         Case Else: Fmat = "0"
     End Select

     MsgBox Format(TextBox1, Fmat)

(半平太) 2018/08/18(土) 17:12


半平太さん
大変、申し訳ありません。
『判定』という言葉により誤解を与えてしまったようです。
ユーザーフォームからの入力が下記のように
同列内で2つのフォーマット定義するなりして実現したいです。

(例1)0981234567 → 098-123-4567
(例2)09012345678 → 090-1234-5678
(フィロ) 2018/08/18(土) 18:30


 >同列内で2つのフォーマット定義するなりして実現したいです。 

 同列内とはシートの列の話ですか?

 すると、単なるセルの書式の話であって、
 「ユーザーフォームのTextBox・・」なんてことは余り関係ないですね?

 結局、セルにはどんなデータが入っているんですか?
 頭に0が有るのですか、無いのですか?(数値なら無いハズですが?)

(半平太) 2018/08/18(土) 19:03


シートの列の話です。
おっしゃるように書式の話(ユーザー定義)かと当初は思ったのですが
同じ列に2つのユーザー定義が出来ないので
電話番号なので頭に0は入力します。

(フィロ) 2018/08/18(土) 19:23


 >電話番号なので頭に0は入力します。 

 と言う事は、数値じゃないですよね?
 「数字」、つまり文字列の一種と思われますが?
 (ここが明確じゃないと全てが始まりません。実際にエクセルシート上の値を見てください)

 ユーザー設定は、数値に適用されるものなので、
 数字だと "基本的には" 無理です。
 1つのユーザー定義すら満足に出来ないハズです。

 数値なら、条件付き書式で対応できるので、
 2つと言わず、64通りあっても出来ます。

(半平太) 2018/08/18(土) 19:50


コメント返信:

[ 一覧(最新更新順) ]


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