[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『表示形式について』(ロビンマスク)
会社で表を作っているのですが, アイテム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.