• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ 色が思うように、表示できない)

マクロを使用して部品の管理を行っていますが、J列の結果の表示が正しく行われません。どうすれば修正できますか?

このQ&Aのポイント
  • マクロを使用して部品の管理を行い、特定の条件に基づいてセルの色を変える処理を行っています。しかし、J列の結果の表示が正しく行われません。J列の結果がローズ色や白色、薄いオレンジ色になるようにしたいのですが、その原因がわからず困っています。回答をお願いします。
  • マクロを使用して部品の管理を行っていますが、J列の結果の表示が正しく行われません。具体的には、J列の結果がローズ色や白色、薄いオレンジ色になるべきですが、黄色になってしまいます。どのように修正すればよいか教えてください。
  • マクロを使用して部品の管理を行っています。J列の結果の表示がうまくいっていないため、質問させていただきます。J列の結果がローズ色でなく、合が白色で、欠が薄いオレンジ色になるようにするにはどうすればよいでしょうか?お知恵をお貸しください。

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

https://okwave.jp/qa/q9580927.html こちらは未解決ですか?

rr5se
質問者

お礼

解決しました。お礼をして終わりだと思っていました。ベストアンサーを忘れていました。すみません。

その他の回答 (2)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

参考に 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

rr5se
質問者

お礼

コピペとソートはうまくできました。しかし、列の色はうまくできません。 SI299792さんが言われる通りに全体を提示したいと思います。すみません。面倒をおかけします。有難うございます。

  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.1

これ、動いているものをそのままコピペしましたか? For i = が抜けているので、このままではコンパイルエラーです。 また、Sub Macro2()もぬけているし、Macro2 Macroもコメントになっていない。 ということは、一部分の抜粋でしょう。そこで色を黄色にしているのではないですか。でなければ説明できません。 不要な所を削除するのはいいですが、せめて動く状態で載せて下さい。 その上でおかしな所ですが、 Range("J2:J" & LastRow).ClearContents なぜ消すのですが。J 列は全て空白になります。従って色は付きません。色を付けて文字は消したいということでしょうか。であればプログラムの最後に文字を消すが、sheet1を参照するかです。 If Cells(i, "J") >= "不" Then 何故ですが。 If Cells(i, "J") = "不" Then ではないですか。

rr5se
質問者

お礼

SI299792さんが言われる通りに全体を提示したいと思います。すみません。再度質問したいと思います。有難うございます。

関連するQ&A