質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

809閲覧

間違って入力されている会員番号を揃えたい

yum28

総合スコア3

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/07/18 11:58

会員番号を揃えたいです。
85620079 というモデル番号に揃えたいです。
856(全員同じ)
20(2020年の意味で後ろの2桁を表示)
※21もいます(2021年の意味)
079(後ろの3桁は個人によって違う)

例えば
34856-2020-079
または
34856-2020-79
または
3485620079
など入力が間違っている
数字をモデル番号のように揃えるにはどのようなコードが書けますか?

検討がつかないため、コードもおもいつきません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

BeatStar

2021/07/18 12:22

もうちょっと構成を考えるべきです。 少なくとも質問の定義では 34856-2020-079とかにはなりえません。 (入力自体はあり得るけど、それなら『ありえない会員番号の場合』はどうするのでしょうか?)
takasima20

2021/07/18 12:24

まずは間違っている(と認識している)パターンを洗い出しましょう。対応はそれからですね。
dodox86

2021/07/18 12:36

ちゃんと言葉で仕様を説明できていないものは、プログラミングできません。
guest

回答2

0

すでに存在してる会員番号に間違えられてる場合はどうするんでしょうか。
それを提示しましょう

投稿2021/07/18 12:06

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yum28

2021/07/18 21:18

間違っている場合はセルに黄色で色をつけたいです。
guest

0

ベストアンサー

たとえばの例でいえば。

VBA

1Function NumberCheck(v) As Boolean 2 ' 3 If Not IsNumeric(v) Then Exit Function 4 ' 5 If Len(v) <> 8 Then Exit Function 6 ' 7 If Left(v, 3) <> "856" Then Exit Function 8 ' 9 If Mid(v, 4, 2) < 20 Then Exit Function 10 ' 11 If Mid(v, 4, 2) > 30 Then Exit Function 12 ' 13 NumberCheck = True 14End Function 15

投稿2021/07/18 22:26

jinoji

総合スコア4592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yum28

2021/07/19 00:30

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問