• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:評価の事務処理をマクロでできないでしょうか)

マクロで評価の事務処理を効率化する方法はあるか

このQ&Aのポイント
  • 派遣切り後、事務職の就職がようやく見つかりました。仕事の効率を上げて業務処理を増やしたいと考えていますが、マクロを作成する方法がわかりません。
  • Sheet1には納品番号のリストがあり、Sheet2には納品番号と評価が記載されています。Sheet1の納品番号を検索し、Sheet2で評価を取得してSheet1に記載したいと考えています。
  • Sheet1の納品番号を順に検索し、Sheet2で評価を取得してSheet1に記載します。評価が空白の場合はセルを赤く、2桁の数字がある場合は緑色にすることもあります。

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

  • ベストアンサー
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.1

一例です。 だぶっている場合は、最後のデータを記入した上で緑にします。 Sub test02()   Dim Ws1 As Worksheet   Dim Ws2 As Worksheet   Dim myRange1 As Range   Dim myRange2 As Range   Dim c1 As Range   Dim c2 As Range   Dim myCt As Long   Set Ws1 = Worksheets("Sheet1")   Set Ws2 = Worksheets("Sheet2")   Set myRange1 = Ws1.Range("A1", Ws1.Cells(Rows.Count, "A").End(xlUp))   Set myRange2 = Ws2.Range("A1", Ws2.Cells(Rows.Count, "A").End(xlUp))   For Each c1 In myRange1     myCt = 0     For Each c2 In myRange2       If c2.Value = c1.Value Then         If c2.Offset(, 1).Value = "" Then           c1.Offset(, 1).Interior.ColorIndex = 3         Else           c1.Offset(, 1).Value = c2.Offset(, 1).Value         End If         myCt = myCt + 1       End If     Next c2     If myCt > 1 Then c1.Offset(, 1).Interior.ColorIndex = 10   Next c1   Set Ws1 = Nothing   Set Ws2 = Nothing   Set myRange1 = Nothing   Set myRange2 = Nothing End Sub

mika_mika_
質問者

お礼

100%私が欲しいマクロでした! こんなに速く完璧な返信を頂いて感動して涙が出ました。 本当にありがとうございました。