
【やりたい事】
以下の手順をマクロにて実現したいです。画像添付あります
アドバイスorコードご存じの方、教えて下さい。宜しくお願いします
1リストブックにあるデータの対象の行のセルを、どこでも良いので選択【アクティブセルにする】
2同データと同じお客様番号をデータブック(別ブック)より探す
3見つかったら、データブックのE列に100を入力。また、A-E列までを黄色くする
4もしくは、同じお客様番号が無ければ、見つかれませんとメッセージを表示
【リストブック】
C:\Users\2020\OneDrive\マクロ\住所転記\リスト.xlsm
【データブック】
C:\Users\2020\OneDrive\マクロ\住所転記\データ.xlsx
【黄色について参考】
ColorIndex⇒ 6
カラー定数⇒ vbYellow
XlRgbColor列挙⇒ rgbYellow
#16進⇒ #FFFF00

No.2ベストアンサー
- 回答日時:
以下のマクロを標準モジュールに登録してください。
Public Sub お客様番号検索()
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lastrow1 As Long
Dim lastrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim custNo As String
If ActiveWorkbook.Name <> ThisWorkbook.Name Then
MsgBox ("アクティブなブックが" & ThisWorkbook.Name & "でない")
Exit Sub
End If
Set ws1 = ActiveSheet
If ws1.Name <> "Sheet1" Then
MsgBox ("アクティブなシートがSheet1でない")
Exit Sub
End If
row1 = ActiveCell.Row
lastrow1 = ws1.Cells(Rows.Count, "A").End(xlUp).Row
If row1 < 2 Or row1 > lastrow1 Then
MsgBox ("アクティブなセルが範囲外")
Exit Sub
End If
custNo = ws1.Cells(row1, "A").Value
Set wb2 = Workbooks("データ.xlsx")
Set ws2 = wb2.Worksheets("Sheet1")
ws2.Cells.Interior.Pattern = xlNone
lastrow2 = ws2.Cells(Rows.Count, "A").End(xlUp).Row
For row2 = 2 To lastrow2
If custNo = ws2.Cells(row2, "A").Value Then
ws2.Cells(row2, "E").Value = 100
ws2.Range("A" & row2 & ":E" & row2).Interior.Color = vbYellow
Exit Sub
End If
Next
MsgBox ("見つかれません")
End Sub
ありがとうございます
いきなり、期待どおりの動作をしました
これからご教授いただいた、コードを勉強させて頂きます
大変、ありがとうございます
No.1
- 回答日時:
補足要求です。
1.マクロ実行時、データブックである、データ.xlsxは既にオープンされているのでしょうか。
それとも、データ.xlsxはクローズした状態であり、マクロでデータ.xlsxをオープンするのでしょうか。
2.以下の処理をマクロで行うとありますが、これは、手作業の誤りではないでしょうか。
手作業で以下の処理を行ったのち、マクロを起動するのではないでしょうか。
下記の処理です。
「1.リストブックにあるデータの対象の行のセルを、どこでも良いので選択【アクティブセルにする】」
3.リストブックの対象となるシートのシート名は何でしょうか。
4.データブックの対象となるシートのシート名は何でしょうか。
tatsumaru77 様
リクエストありがとうございます
1. データ.xlsxは既にオープンとなっています
2.申し訳ございません。手作業の誤りです
>「1.リストブックにあるデータの対象の行のセルを、どこでも良いので>選択【アクティブセルにする】」
3. Sheet1 です
4. Sheet1 です
ご検討の程、宜しくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】数式を入力したい。カウントIFの範囲がつど変わる場合の数式の入力方法について
Excel(エクセル)
-
【マクロ】【相談】Excelブックとマクロを早く動くようにする為には?
Excel(エクセル)
-
【マクロ】実行時エラー '424': オブジェクトが必要です。 について
Excel(エクセル)
-
-
4
他のシートの検索
Excel(エクセル)
-
5
vba テキストボックスとリフトボックスについて
Excel(エクセル)
-
6
エクセルのリストについて
Excel(エクセル)
-
7
【マクロ】変数に入れるコードを少しでも短くする為には?
Excel(エクセル)
-
8
【マクロ】列を折りたたみ非表示したセルの内、可視セルをコピーするとがエラーとなる
Excel(エクセル)
-
9
【マクロ】左のブックと右のブックにて、同じデータに水色をぬるためには?
Excel(エクセル)
-
10
エクセルシートの見出しの文字を大きくしたい
Excel(エクセル)
-
11
【マクロ】宣言は、何のためにするんですか???しなくても、普通に動いしまうのはなぜ?
Excel(エクセル)
-
12
特定のセルだけ結果がおかしいです。 関数はオートフィルでコピーしており、細かく見てもどこもおかしくあ
Excel(エクセル)
-
13
エクセルのVBAで集計をしたい
Excel(エクセル)
-
14
【マクロ】【配列】3つのシートに、同じ作業をしたい
Excel(エクセル)
-
15
エクセルの複雑なシフト表から当日の出勤者と勤務時間帯を抜き出したい
Excel(エクセル)
-
16
エクセルの設定、下へスクロールすると表のヘッダ項目がシートの列番号の部分に表示される
Excel(エクセル)
-
17
Vba Declare Functionを使う環境依存文字が化ける
Visual Basic(VBA)
-
18
【マクロ】シート追加時に同じ名前のシートがあり、エラーの場合、メッセージを出し、次のコードへ進むには
Excel(エクセル)
-
19
【マクロ】アクティブセルの時間を別ブックから検索。見つかったセルを含めた最終行まで選択したい
Excel(エクセル)
-
20
グループごとの個数をカウントしたい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル関数>参照ファイル名...
-
VBAで保存しないで閉じると空の...
-
マクロの保存先、開いてるすべ...
-
エクセルVBAで作成した別ブック...
-
EXcelのマクロで相対パスでファ...
-
【Excel】マクロの保存先について
-
【マクロ】元データと同じお客...
-
エクセルのvbaにて thisworkboo...
-
複数のExcelファイルの印刷設定...
-
名前の変わるブックをアクティ...
-
エクセルを開いて文字を打つ際...
-
エクセル;相対パスを絶対パスへ...
-
EXCELのボタンによるマクロの登...
-
エクセルVBA 個人用マクロブッ...
-
エクセルで未保存に対するメッ...
-
1つのEXCELファイルをインター...
-
マクロ 自動でパスワード及び指...
-
個人用マクロブックが消えました
-
【Excel】特定セルの内容をテキ...
-
ExecuteExcel4Macroを使って他...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
【マクロ】元データと同じお客...
-
【Excel VBA】マクロでExcel自...
-
エクセル関数>参照ファイル名...
-
マクロの保存先、開いてるすべ...
-
エクセルのvbaにて thisworkboo...
-
エクセル;相対パスを絶対パスへ...
-
【Excel】マクロの保存先について
-
EXcelのマクロで相対パスでファ...
-
EXCELのボタンによるマクロの登...
-
エクセルで未保存に対するメッ...
-
EXCELマクロで、開いてはいるが...
-
excelで直前に参照していたブッ...
-
EXCELブックが勝手に開いて困っ...
-
複数のExcelファイルの印刷設定...
-
エクセルで使用期限付きのブッ...
-
エクセルを開いて文字を打つ際...
-
[フィルターオプションの設定]...
-
名前の変わるブックをアクティ...
-
【Excel】特定セルの内容をテキ...
おすすめ情報