派遣切り後、事務職の就職がようやく見つかりました。
仕事の効率を少しでも上げて、より多くの業務処理をしたいので下記のマクロを作成したいと考えています。
1ヶ月前に書籍を購入して独自でできるか試したのですがダイレクトな情報が見つからず、基礎の部分だけはできたところです。
恐縮なのですがもし、できる方がいましたらぜひ教えて頂けませんでしょうか。
Sheet1とSheet2があります。
Sheet1は、A列には6桁の納品番号の羅列、B列は【空白】です。
Sheet2は、顧客からの評価が記載→A,B,C,空白:
A列には6桁の納品番号、B列は【評価】があります。
Sheet1例
●A列B列
238062
238075
238096
238220
92528
238230
238090
*A列はMAX70行ほどあります
●Sheet2例
A列B列
92528B
238062A
238075C
238090B
238096A
238220 ←空白(記載無し)
238230A
*A列はMAX500行ほどあります
したいことは、
1.Sheet1のA列にある6桁の納品番号を1つずつ検索
2.Sheet2のA列ににその納品番号があるかどうか?
3.Sheet2にその納品番号があれば、Sheet2のその納品番号の右隣(Sheet2のB列)の評価がA,B,C,空白 の何かを見ます
4.そして、Sheet1のB列にその評価を記載します。空白の場合はSheet1のB列のセルを赤くします。
Sheet2にはダブル数字がある可能性が有り、その場合はSheet1のB列のセルを緑色にします。
です。以下の「●Sheet1処理後の例」を参照ください。
●Sheet1処理後の例
A列B列
238062A
238075C
238096A
238220セルを赤色にします
92528B
238230A
238090B
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) Excel関数 情報引用する方法 4 2022/07/31 20:59
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- Excel(エクセル) エクセルの日付抽出 2 2023/02/03 15:02
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
エクセルで最初のスペースまで...
-
PowerPointで表の1つの列だけ...
-
EXCELで 一桁の数値を二桁に
-
Excelで半角の文字を含むセルを...
-
「B列が日曜の場合」C列に/...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
エクセルで文字が混じった数字...
-
VBAで文字列を数値に変換したい
-
エクセルの項目軸を左寄せにしたい
-
エクセル 文字数 多い順 並...
-
エクセルで、列の空欄に隣の列...
-
【VBA】特定列に文字が入ってい...
-
50人を数回、グループ分けする...
-
エクセルで一行毎、一枚づつ自...
-
エクセル 同じ値を探して隣の...
-
【エクセル】指定した文字以外...
-
エクセルの並び変えで、空白セ...
-
Excel 別ファイルに自動的に反...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PowerPointで表の1つの列だけ...
-
エクセルで二つの数字の小さい...
-
エクセル 同じ値を探して隣の...
-
2つのエクセルのデータを同じよ...
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
エクセルの項目軸を左寄せにしたい
-
エクセル(勝手に太字になる)
-
EXCELで 一桁の数値を二桁に
-
Excel、市から登録している住所...
-
VBAで文字列を数値に変換したい
-
「B列が日曜の場合」C列に/...
-
Excelで半角の文字を含むセルを...
-
EXCEl VBA
-
エクセルの並び変えで、空白セ...
-
VBAで、サブフォルダにある複数...
-
エクセルで文字が混じった数字...
-
エクセルの表から正の数、負の...
-
エクセルの列を範囲選択しての...
-
エクセル 時間帯の重複の有無
おすすめ情報