いつもお世話になっております。
行き詰ってしまったのでどうか教えてください。
EXCELは2013を使用しています。
売上表を修正しているのですがデータ量が多くてマクロで解決できないかと思っています。
sheet1 データ(項目は1行目でA列~N列まで)
sheet2 結果リスト(準、○、1、レ(ギュラー)
やりたいことはsheet1のA列のランクが【A】だった時にC~N列に結果リストの文字があれば
A列を【優】、結果リストになければ【良】にしたいです。
マクロを書いてみたのですがうまくいかず、アドバイスよろしくお願いします。
Sub 結果()
Dim i As Long, j As Long
Dim lastRow As Long, lRow As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
For j = 3 To 12
If Cells(i, 1) = "A" Then
If Cells(i, j) <> "レ" Then
Cells(i, 1) = "優"
Else
Cells(i, 1) = "良"
End If
End If
Next j
Next i
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは!
>C~N列に・・・
とありますが、コードを拝見するとC~L列までとなっていますね。
質問文どおりN列までとしてみました(12列まで)
一例です。
尚、両シートとも1行目が項目行でデータは2行目以降にあるとします。
標準モジュールにしてください。
Sub Sample1()
Dim i As Long, k As Long
Dim myRng As Range, wS As Worksheet
Dim c As Range, myFlg As Boolean
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
If .Cells(i, "A") = "A" Then
Set myRng = .Cells(i, "C").Resize(, 12) '//←C~N列までを範囲にセット//
For k = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
Set c = myRng.Find(what:=wS.Cells(k, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
myFlg = True
Exit For
End If
Next k
If myFlg = True Then
.Cells(i, "A") = "優"
Else
.Cells(i, "A") = "良"
End If
myFlg = False
End If
Next i
End With
End Sub
※ 結局 「レ」については何も判断していません。
こんな感じで良いのでしょうかね。m(_ _)m
いつもありがとうございます!
そしてまた記載ミスがあったようで申し訳ありません。
Tom04さんには何度も助けられ本当に感謝です!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) ワークシート内を検索 1 2022/12/19 23:46
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) excel VBA if文について 3 2022/03/27 17:42
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LEFT関数とIF関数の組み合わせ...
-
エクセルで離れた列を選択して...
-
エクセルで住所を県と市・郡と...
-
VBAで結合セルを転記する法を教...
-
「段」と「行」の違いがよくわ...
-
VLOOKUPの列番号の最大は?
-
CSVファイルの「0落ち」にVBA
-
エクセルで複数列の検索をマク...
-
VBAで別ブックの列を検索し、該...
-
えABのある列って
-
エクセルマクロPrivate Subを複...
-
Excel文字列一括変換
-
VBA 選択範囲とUnionの使い方に...
-
エクセルでセル12個間隔で合...
-
エクセルの列末のデータだけ表...
-
オートフィルターの複数抽出と...
-
データシートビューのタイトル...
-
エクセルのシートの大きさを変える
-
エクセルVBAでデータ最終行取得...
-
最終行に合計(最終行が列によ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA 指定した列にある日時デー...
-
CSVファイルの「0落ち」にVBA
-
エクセルで複数列の検索をマク...
-
Excelの行数、列数を増やしたい...
-
エクセルマクロの組み方
-
エクセルマクロPrivate Subを複...
-
リストからデータを紐付けしたい
-
エクセルのソートで、数字より...
-
エクセルで住所を県と市・郡と...
-
VBAで別ブックの列を検索し、該...
-
VBA
-
Excel文字列一括変換
-
エクセル 重複 隣の列 一番...
-
列方向、行方向の定義
-
Alt+Shift+↑を一括で行うには、...
-
VBAで結合セルを転記する法を教...
おすすめ情報