専門家の人にお尋ねします。
商品が2001年8月25日に作った物が有るとします。
その時のLOTは1825XXXXで、LOT内容は左から1が(2001年)8が(8月)25が(25日)とします。後の4桁は連番です。10月だとX 11月だとY 12月だとZになる決まりがあります。
結果判断の内容は指定した月日以内をこえると警告(色を付ける)の指定です。
例えばセルA1に警告月4と入力し A5にロットを入力しまするとOKならそのまま、NGなら赤色になります。ただネックなのがXYZでどうすれば月の判断が出来るのかわかりません。VBでかまわないので、解決する方法は無いでしょうか?
No.4ベストアンサー
- 回答日時:
>1.空白又A5のセルを削除した場合エラ―出る。
対応しました。考慮不足でした。
>2.A5だけでは無く複数のセル(A5~A10)は可能?
対応しました。範囲は変更できるよう分かりやすく書いたつもりです。
>3.シート名を指定
先ほどのコードは、この機能を使いたいシートのコードウインドウに貼り付ければいいんですが
たくさんあると大変?下記はシート名を指定できるようにしてあります。ThisWorkBookに貼り付けます。
<ThisWorkBookのコードウインドウに貼り付けます>
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'例 Sheet1かSheet2でなければ何もしない
If Not (Sh.Name = "Sheet1" Or Sh.Name = "Sheet2") Then Exit Sub
'単一のセルの変更のみ対象
If Not (Target.Rows.Count = 1 And Target.Columns.Count = 1) Then Exit Sub
'対象セルを消去した場合の対応
If Target = "" Then Target.Font.ColorIndex = xlAutomatic: Exit Sub
'A5からA10に含まれる場合のみ処理する
If Union(Range("A5:A10"), Target).Address <> Range("A5:A10").Address Then Exit Sub
Dim LOT As String 'LOT
Dim LOTnen As Integer 'LOTの年
Dim LOTtuki As Integer 'LOTの月
Dim keikokuNen As Integer '警告年
Dim keikokuTuki As Integer '警告月
On Error GoTo ErrorHandler
LOT = Right("00000000" & Target, 8) 'セルが数値形式の場合の対応
LOTnen = 2000 + Left(LOT, 1)
LOTtuki = InStr("123456789XYZ", Mid(LOT, 2, 1))
keikokuNen = Year(Now())
keikokuTuki = WorksheetFunction.Substitute(Range("A1"), "警告月", "")
'判定
If keikokuNen * 12 + keikokuTuki < LOTnen * 12 + LOTtuki Then
Target.Font.ColorIndex = 3 '赤
Else
Target.Font.ColorIndex = xlAutomatic '黒
End If
Exit Sub
ErrorHandler:
MsgBox "エラーです"
End Sub
アドバイス有難う御座いました。
期限を変更にした場合は更新が出来なかったは残念ですが
とても良く作ってあり感謝しております。
ポイント入れておきます。
No.3
- 回答日時:
こんにちは!
回答では無いのですが!
EXCELのバージョンは?
97/95だと1/8/25で平成1年8月25日と判断してしまい
2000だと2001年8月25日と判断する違いがあります
したがって97以前を使う可能性があるなら、そのてんの
考慮も必要になります。
>LOT内容は左から1が(2001年)
・2010年はどのようになるのでしょうか?(記号かな?)
>結果判断の内容は指定した月日以内をこえると
>警告(色を付ける)の指定です。
>例えばセルA1に警告月4と入力し
・月で判定? 月日で判定? どちらでしょうか?
いずれにしろ条件付き書式の条件としては
[数式が]でロット番号を年月日に加工することになる
とかな?
もしくは AND(年>=○,月>=△,日>=□)で分解した数値を
比較させる手もあるでしょう!
参考としてロット番号を200X年を基準として年月日に加工する式のみ記載させて頂きます。
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(200&REPLACE(REPLACE(LEFT(A5,4),3,,"/"),2,,"/"),"X",10),"Y",11),"Z",12)*1
No.2
- 回答日時:
専門家ではありませんがよろしいでしょうか。
質問から、対象セルはA5のみとしています。赤色は文字の色と解釈しました。
『指定した月日以内をこえる』とありますが、警告月を超えたら赤にしています。日の指定が無い?
また、警告年はどのように判定するのでしょう。警告月を1月等にすると、年が重要になってきます。今はNow()を使っています。
警告月が10月の場合は、『警告月10』と入力するとしました。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$5" Then 'A5以外なら何もしない
Exit Sub
End If
Dim LOT As String 'LOT
Dim LOTnen As Integer 'LOTの年
Dim LOTtuki As Integer 'LOTの月
Dim keikokuNen As Integer '警告年
Dim keikokuTuki As Integer '警告月
LOT = Target
LOTnen = 2000 + Left(LOT, 1)
LOTtuki = InStr("123456789XYZ", Mid(LOT, 2, 1))
keikokuNen = Year(Now())
keikokuTuki = WorksheetFunction.Substitute(Range("A1"), "警告月", "")
'判定
If keikokuNen * 12 + keikokuTuki < LOTnen * 12 + LOTtuki Then
Target.Font.ColorIndex = 3 '赤
Else
Target.Font.ColorIndex = xlAutomatic '黒
End If
End Sub
この回答への補足
とても良く出来たVBの内容でした。
有難う御座います。
試したのですが3点追記出来ないでしょうか
1. 空白又A5のセルを削除した場合エラ―出る。
2. A5だけでは無く複数のセル(A5~A10)は可能?
3. シート名を指定
これが可能であれば、私が思っている内容です。
あともう一歩何卒助けて下さる様お願い申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- 就職・退職 現在勤めている会社を12月15日で退職予定です。(給料は末締めの翌25日払い) 今月頭に年末調整の書 5 2022/11/15 07:33
- その他(スポーツ) 大谷翔平の一番スゴいのはなんですか? 2 2023/02/24 15:35
- 輸入車 AudiA7のオルタネーター故障 4 2023/03/17 16:53
- 所得・給料・お小遣い 103万の壁について質問です。現在大学生で、扶養内でアルバイトをしており、給料は月末締めの翌月25日 2 2022/10/06 00:02
- 確定申告 青色申告の場合、仕分けはどうすればいいですか? 5 2023/02/19 14:17
- 減税・節税 フードデリバリーを専業に⁉︎ 青色申告について Uber eatsを自転車で良い運動がてらやってる程 1 2022/06/05 18:45
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- 健康保険 傷病手当金の申請について 3 2022/07/09 09:14
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワポで曲がった両矢印の簡単...
-
パワーポイント「スライドショ...
-
パワーポイントの表
-
Power pointって、スクリーンに...
-
音声マークを一括非表示にしたい。
-
パワーポイント2019 図の透...
-
パワーポイントで、プレゼン用...
-
画面写真でコピーペーストする...
-
Powerpointを用いた論文の発表...
-
【パワーポイントのフォントが...
-
パワーポイントにページ番号を...
-
COUNTIFのやり方を教えてくださ...
-
パワーポイント、四角い枠の中...
-
プレゼン時のポインター
-
PowerPoint2007を使用していま...
-
教えてgooのスマホアプリ
-
【パワポ初心者の大学生におす...
-
canvaでつくったプレゼン資料を...
-
ホワイトボード 油性マジックの...
-
Power point で、アニメって作...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワポで曲がった両矢印の簡単...
-
パワーポイントの表
-
パワーポイント「スライドショ...
-
音声マークを一括非表示にしたい。
-
ホワイトボード 油性マジックの...
-
エクセル・パワーポイントなど...
-
パワーポイントで、プレゼン用...
-
PowerPointVBAでスライドマスタ...
-
PowerPointでスライドマスタの...
-
Power point で、アニメって作...
-
パワポ初心者で申し訳ありませ...
-
PowerPointで、作成されたファ...
-
パワーポイントで資料を作る時 ...
-
【パワーポイントのフォントが...
-
パワーポイントのアニメーショ...
-
ExcelのグラフをPowerPointに貼...
-
パワーポイント2019 図の透...
-
パワーポイントで、全てのスラ...
-
PowerPointのアニメーションで...
-
PowerPointで、線を点滅した感...
おすすめ情報