- ベストアンサー
マクロを使用して部品の管理を行っていますが、J列の結果の表示が正しく行われません。どうすれば修正できますか?
- マクロを使用して部品の管理を行い、特定の条件に基づいてセルの色を変える処理を行っています。しかし、J列の結果の表示が正しく行われません。J列の結果がローズ色や白色、薄いオレンジ色になるようにしたいのですが、その原因がわからず困っています。回答をお願いします。
- マクロを使用して部品の管理を行っていますが、J列の結果の表示が正しく行われません。具体的には、J列の結果がローズ色や白色、薄いオレンジ色になるべきですが、黄色になってしまいます。どのように修正すればよいか教えてください。
- マクロを使用して部品の管理を行っています。J列の結果の表示がうまくいっていないため、質問させていただきます。J列の結果がローズ色でなく、合が白色で、欠が薄いオレンジ色になるようにするにはどうすればよいでしょうか?お知恵をお貸しください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
https://okwave.jp/qa/q9580927.html こちらは未解決ですか?
その他の回答 (2)
- watabe007
- ベストアンサー率62% (476/760)
参考に Sub Test() Dim LastRow As Long, i As Long Application.ScreenUpdating = False Application.Calculation = xlCalculationManual With Sheets("sheet1") LastRow = .Cells(Rows.Count, "A").End(xlUp).Row .Range("A1:J" & LastRow).Copy Sheets("sheet2").Range("A1") End With Application.CutCopyMode = False Sheets("Sheet2").Select Range("A1:J" & LastRow).Sort Key1:=Range("H1"), _ Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin, DataOption1:=xlSortNormal Range("E2:J" & LastRow).Interior.ColorIndex = 0 For i = 2 To LastRow If Cells(i, "E") >= 1 And Cells(i, "E") < 20 Then Cells(i, "E").Interior.ColorIndex = 6 ' 6は 黄色 End If If Cells(i, "F") >= 1 And Cells(i, "F") < 6 Then Cells(i, "F").Interior.ColorIndex = 6 ' 6は 黄色 ElseIf Cells(i, "F") >= 6 And Cells(i, "F") < 10 Then Cells(i, "F").Interior.ColorIndex = 34 '34は 淡い青色 End If If Cells(i, "G") >= 1 And Cells(i, "G") < 10 Then Cells(i, "G").Interior.ColorIndex = 6 ' 6は 黄色 End If If Cells(i, "H") >= 1 And Cells(i, "H") <= 49 Then Cells(i, "H").Interior.ColorIndex = 4 ' 4は うぐいす色 End If If Cells(i, "J") = "不" Then Cells(i, "J").Interior.ColorIndex = 38 '38は ローズ ElseIf Cells(i, "J") = "合" Then Cells(i, "J").Interior.ColorIndex = 2 ' 2は 白色 ElseIf Cells(i, "J") = "欠" Then Cells(i, "J").Interior.ColorIndex = 45 '45は 薄いオレンジ色 End If Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
お礼
コピペとソートはうまくできました。しかし、列の色はうまくできません。 SI299792さんが言われる通りに全体を提示したいと思います。すみません。面倒をおかけします。有難うございます。
- SI299792
- ベストアンサー率47% (772/1616)
これ、動いているものをそのままコピペしましたか? For i = が抜けているので、このままではコンパイルエラーです。 また、Sub Macro2()もぬけているし、Macro2 Macroもコメントになっていない。 ということは、一部分の抜粋でしょう。そこで色を黄色にしているのではないですか。でなければ説明できません。 不要な所を削除するのはいいですが、せめて動く状態で載せて下さい。 その上でおかしな所ですが、 Range("J2:J" & LastRow).ClearContents なぜ消すのですが。J 列は全て空白になります。従って色は付きません。色を付けて文字は消したいということでしょうか。であればプログラムの最後に文字を消すが、sheet1を参照するかです。 If Cells(i, "J") >= "不" Then 何故ですが。 If Cells(i, "J") = "不" Then ではないですか。
お礼
SI299792さんが言われる通りに全体を提示したいと思います。すみません。再度質問したいと思います。有難うございます。
お礼
解決しました。お礼をして終わりだと思っていました。ベストアンサーを忘れていました。すみません。