[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『表示形式について』(ロビンマスク)
会社で表を作っているのですが, アイテムNoの表示形式をちょっと変更したいのですが, 上手く出来ません。 例えば アイテムNo 品名/リマーク 010101 りんご (青森産) 010102 サクランボ (山形産) 上記のような表でITEMU Noを 010101を1.1.1のように変更するにはどうしたら宜しいでしょうか? どなたかご教授ください。
みやほりんが 未解決ログ解消を目的に 2006/07/13 10:45 ごろ、投稿しました。 トピ主の[ロビンマスク]さんの投稿は2002/07/17 18:27:30でした。 表示形式では相談の件は実現できません。 表示形式では入力のないものに追加して表示することは出来るが、入力のあるものを 途中だけ隠して表示することは出来ないのが理由です。 数式によりいったん変換するか、マクロにより値の置き換えをすることになります。 【仮定】 10101という数値を表示形式ユーザー定義 000000 で 010101 と表示している。 【数式例】 A2に入力値があるとして、 =INT(A2/10^4)&"."&INT(MOD(A2,10^4)/100)&"."&INT(MOD(A2,100)) 【マクロ例】 選択範囲を対象とする例 Sub TEST20060713() Dim C As Range If TypeName(Selection) = "Range" Then For Each C In Selection If IsNumeric(C.Value) Then Select Case C.Value Case Is < 10000 Rem 桁が足りないときの処理 Case Is > 1000000 Rem 桁が多いときの処理 Case Else C.Value = Int(C.Value / 10 ^ 4) & "." & _ Int(Val(Right(C.Value, 4)) / 100) & "." & _ Right(C.Value, 2) End Select Else Rem 数字以外のときの処理 End If Next C Else Rem Selectionがセル範囲以外のときの処理 End If End Sub (みやほりん)(-_∂)b
数式案として、 =SUBSTITUTE(TRIM(SUBSTITUTE(TEXT(A1,"000000"),"0"," "))," ",".") というものはどうでしょうか? (ROUGE)
VBA案として Sub test() Dim r As Range, txt, mItem As Object, m As Object With CreateObject("VBScript.RegExp") .Pattern = "^\d{6}$" For Each r In Selection If .test(r.Value) Then .Pattern = "\d{2}" .Global = True Set mItem = .execute(r.Value) For Each m In mItem txt = txt & Val(m.Value) & "." Next If Len(txt)>3 Then r.Value = Left(txt,Len(txt)-1) End If txt = Empty Next End With End Sub (seiya)
もしかしたら、こういうことかもしれませんね。 =--LEFT(TEXT(A1,"000000"),2)&"."&MID(TEXT(A1,"000000"),4,1)&"."&RIGHT(A1,1) (ROUGE)
これもあり? =CONCATENATE(--MID(A2,1,2),".",--MID(A2,3,2),".",--MID(A2,5,2)) (sin)
ご賛同感謝しますです。 でわ。 011010 というデータを想定してテスト。(期待値1.10.10) みや式 みやVBA ROUGE1 ROUGE2 seiya sin (敬称略) 011010 1.10.10 1.10.10 11.1 1.0.0 011010 11.1.0 数値表示形式000000 011010 1.10.10 1.10.10 11.1 1.0.0 11,1, 1.10.10 文字列 (みやほりん)(-_∂)b
沢山でていますが、文字列の変換ということでしたら、このようにするのもよいようです。 (LOOKUP) =SUBSTITUTE(TEXT(A1,"0!.00!.00;;"),".0",".")
あっ、そういうことでしたか.. コード修正済み (seiya)
両方という事でしたら、 TEXT(A2,"000000")を使うけど、長ーくなる。。。 (sin)
LOOKUPさんの数式、スマートですね^^ (ROUGE)
>LOOKUPさん お待ちしていました。 ".0" → "." への置換の発想。さすがっ! 「やるからにはベストを」ですね。 >seiyaさん 複数セル範囲選択で実行すると 変数txt が・・・(ごにょごにょ) (みやほりん)(-_∂)b
みやほりんさん、毎度! 修正しておきます。 (seiya)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.