
No.2ベストアンサー
- 回答日時:
>1つ質問なのですが、郵便番号・住所を上書きするリストが
別ファイルの時は以下のように、都度、シートを指定すれば
良いのでしょうか?
>普通に動いたので、良いかとは思うのですが
ブックがあっちいったりこっちいったりするので
●注意点等あれば教えて下さい●
以下のwsとws1は、別々のブックにあるということでしょうか。
そうであれば、
①2つのブックは共に、オープンされた状態でマクロが呼び出されるのでしょうか。
②それとも、マクロが呼び出された時、別ファイルは、閉じていて、マクロがオープンするのでしょうか。
①であれば、wsがアクティブシートの状態でマクロを呼び出すので、
ws1の設定のみ行えば、問題ありません。
②であれば、別ブックをオープンすると、元々のアクティブセルの情報が失われるので、一旦その情報を記憶してから、別ブックをオープンする必要があります。その後で、アクティブセルの状態を復元し、その内容を参照するように変える必要があります。
ws⇒リスト元があるファイル
ws1⇒別ファイル
お返事ありがとうございます
どちらも、オープンです
1番の方です
問題なさそうですね
いろいろご指導いただきまして
いつもありがとうございます
No.1
- 回答日時:
以下のようにしてください。
Option Explicit
Public Sub 契約検索_転記()
Dim ws As Worksheet
Dim lastrow1 As Long
Dim lastrow2 As Long
Dim actrow As Long
Dim wrow As Long
Set ws = ActiveSheet
lastrow1 = ws.Cells(Rows.Count, "A").End(xlUp).Row
lastrow2 = ws.Cells(Rows.Count, "I").End(xlUp).Row
If ActiveCell.Row < 2 Or ActiveCell.Row > lastrow1 Or ActiveCell.Column > 4 Then
MsgBox ("アクティブセル範囲外")
Exit Sub
End If
actrow = ActiveCell.Row
For wrow = 2 To lastrow2
If ws.Cells(actrow, "A").Value = ws.Cells(wrow, "I").Value And ws.Cells(actrow, "B").Value = ws.Cells(wrow, "J").Value Then
MsgBox ("該当契約あり")
ws.Cells(wrow, "K").Value = ws.Cells(actrow, "C").Value
ws.Cells(wrow, "L").Value = ws.Cells(actrow, "D").Value
Exit Sub
End If
Next
MsgBox ("該当契約無し")
End Sub
tatsumaru77 様
1~10までコードご指南頂きましてありがとうございます
ちゃんと、動きました。
1つ質問なのですが、郵便番号・住所を上書きするリストが
別ファイルの時は以下のように、都度、シートを指定すれば
良いのでしょうか?
普通に動いたので、良いかとは思うのですが
ブックがあっちいったりこっちいったりするので
●注意点等あれば教えて下さい●
【別ファイルの宣言や変数には入れています】
ws⇒リスト元があるファイル
ws1⇒別ファイル
【上書きするリストが違うファイル内の場合】
For i = 2 To lastrow2
If ws.Cells(actrow, "A").Value = ws1.Cells(i, "a").Value And ws.Cells(actrow, "B").Value = ws1.Cells(i, "b").Value Then
MsgBox ("該当契約あり")
ws1.Cells(i, "c").Value = ws.Cells(actrow, "C").Value
ws1.Cells(i, "d").Value = ws.Cells(actrow, "D").Value
Exit Sub
End If
Next
【上書きするリストが同じファイル内の場合】
For wrow = 2 To lastrow2
If ws.Cells(actrow, "A").Value = ws.Cells(wrow, "I").Value And ws.Cells(actrow, "B").Value = ws.Cells(wrow, "J").Value Then
MsgBox ("該当契約あり")
ws.Cells(wrow, "K").Value = ws.Cells(actrow, "C").Value
ws.Cells(wrow, "L").Value = ws.Cells(actrow, "D").Value
Exit Sub
End If
Next
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】顧客番号にて一致させ、情報を表へ上書きする為には 1 2024/05/19 09:16
- Excel(エクセル) 【!】Excel 2つの条件付き書式が反映されません。。 5 2023/07/14 16:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/03/01 17:04
- Excel(エクセル) Excelの関数を教えてください。 3 2023/12/07 20:35
- Excel(エクセル) EXACT関数とIF関数の組み合わせについて 2 2024/04/17 08:26
- Excel(エクセル) 4つのパターンを表示するEXACT関数について 2 2024/04/18 07:49
- Excel(エクセル) エクセルの数式について教えてください。 3 2025/02/24 11:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/07/04 16:21
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/11/09 11:51
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】上のデータに下のデータを、結合する
Excel(エクセル)
-
【マクロ】列を折りたたみ非表示したセルの内、可視セルをコピーするとがエラーとなる
Excel(エクセル)
-
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
-
4
エクセルの設定、下へスクロールすると表のヘッダ項目がシートの列番号の部分に表示される
Excel(エクセル)
-
5
【マクロ】1回目の実行後、2回目からは実行できないようにはできますか?
Excel(エクセル)
-
6
別のシートの指定列の最終行を返す関数の式を教えて下さい。
Excel(エクセル)
-
7
役所でもらった書類をエクセル化するには? 役所に申請する用紙があります。A4で表になっていて枠内に文
その他(Microsoft Office)
-
8
【マクロ】コードを少しでも、減らする為には
Excel(エクセル)
-
9
【マクロ、画像あり】A表かB表かどちらか判断をして、処理をする
Excel(エクセル)
-
10
VBA_日時のソート
Excel(エクセル)
-
11
【マクロ 画像あり】セル範囲の移動について、簡潔で短いマクロがあれば教えて下さい
Excel(エクセル)
-
12
エクセルのマクロを記録して即実行したらエラー
Excel(エクセル)
-
13
派遣会社とかハローワークとかがやってるパソコン研修(主にエクセル)って受けといた方がいいんでしょうか
Excel(エクセル)
-
14
【関数】不規則な文章から●●-●●●●-●●●●-●形式の数字を抜きだしたい
Excel(エクセル)
-
15
エクセルで特定のセルの値を別のシートにリストとして表示させたい
その他(Microsoft Office)
-
16
エクセルのdatedif関数を使って、年齢と月齢を入力しました。 関数を入力して、問題なく使えたので
Excel(エクセル)
-
17
【マクロ】変数に入れるコードを少しでも短くする為には?
Excel(エクセル)
-
18
【画像あり】オートフィルターについて、データが無い関数セルを空白セルとして読まないようにしたい
Excel(エクセル)
-
19
【マクロ】WEBシステムから保存ではなく、開いたExcelデータを変数に入れる事が出来る?
Excel(エクセル)
-
20
エクセル マクロVBAについて教えてください。
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
エクセルで指定したセルのどれ...
-
エクセルの書式設定の表示形式...
-
Excelでのコメント表示位置
-
Excel 例A(1+9) のように番地の...
-
セルをクリック⇒そのセルに入力...
-
(Excel)数字記入セルの数値の後...
-
エクセル オートフィルタで絞...
-
対象セル内(複数)が埋まった...
-
【エクセル】IF関数 Aまたは...
-
数式を残したまま、別のセルに...
-
EXCELのセルの中の半角カンマの...
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
EXCEL VBA セルに既に入...
-
エクセルで住所と建物名を分け...
-
Excel2003 の『コメント』の編...
-
エクセルのセルの枠を超えて文...
-
Excelで数式内の文字色を一部だ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
スプレッドシートで複数のプル...
-
excelで日付関数の文字列変換の...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルのセルの枠を超えて文...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
おすすめ情報