
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】上のデータに下のデータを、結合する
Excel(エクセル)
-
【マクロ】列を折りたたみ非表示したセルの内、可視セルをコピーするとがエラーとなる
Excel(エクセル)
-
【マクロ、画像あり】A表かB表かどちらか判断をして、処理をする
Excel(エクセル)
-
-
4
【マクロ】コードを少しでも、減らする為には
Excel(エクセル)
-
5
エクセルのマクロを記録して即実行したらエラー
Excel(エクセル)
-
6
エクセルのdatedif関数を使って、年齢と月齢を入力しました。 関数を入力して、問題なく使えたので
Excel(エクセル)
-
7
【マクロ】WEBシステムから保存ではなく、開いたExcelデータを変数に入れる事が出来る?
Excel(エクセル)
-
8
【マクロ】変数に入れるコードを少しでも短くする為には?
Excel(エクセル)
-
9
エクセルの設定、下へスクロールすると表のヘッダ項目がシートの列番号の部分に表示される
Excel(エクセル)
-
10
別のシートの指定列の最終行を返す関数の式を教えて下さい。
Excel(エクセル)
-
11
【マクロ】1回目の実行後、2回目からは実行できないようにはできますか?
Excel(エクセル)
-
12
役所でもらった書類をエクセル化するには? 役所に申請する用紙があります。A4で表になっていて枠内に文
その他(Microsoft Office)
-
13
VBA_日時のソート
Excel(エクセル)
-
14
【マクロ 画像あり】セル範囲の移動について、簡潔で短いマクロがあれば教えて下さい
Excel(エクセル)
-
15
【関数】不規則な文章から●●-●●●●-●●●●-●形式の数字を抜きだしたい
Excel(エクセル)
-
16
派遣会社とかハローワークとかがやってるパソコン研修(主にエクセル)って受けといた方がいいんでしょうか
Excel(エクセル)
-
17
エクセルで特定のセルの値を別のシートにリストとして表示させたい
その他(Microsoft Office)
-
18
【画像あり】オートフィルターについて、データが無い関数セルを空白セルとして読まないようにしたい
Excel(エクセル)
-
19
エクセルで 45201 を文字列 20231002 にする方法を教えてください。
Excel(エクセル)
-
20
納期順に勝手に並べ替えられるようにしたいのですが…
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel2010の指マークと白十字マ...
-
枠に収まらない文字を非表示に...
-
エクセルのセル交点に丸印をつ...
-
セルをクリック⇒そのセルに入力...
-
数式を残したまま、別のセルに...
-
VBAで特定の文字が入力されたセ...
-
貼り付けで複数セルに貼り付けたい
-
【マクロ画像あり】❶1つの条件...
-
Excel データ入力に応じて自動...
-
エクセルのセルの枠を超えて文...
-
VBAを使用して時間単位で矢印を...
-
エクセル 足して割る
-
Excelで住所を2つ(町名迄と番...
-
excelの特定のセルの隣のセル指...
-
エクセルでセルの挿入・削除を...
-
公共建築工事 共通仮設費率 エ...
-
対象セル内(複数)が埋まった...
-
LARGE関数 飛び飛びの範囲を指定
-
エクセルの一つのセルに複数の...
-
エクセル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
数式を残したまま、別のセルに...
-
Excel for Mac使用中ポインタが...
-
Excel 例A(1+9) のように番地の...
-
セルをクリック⇒そのセルに入力...
-
エクセルの書式設定の表示形式...
-
枠に収まらない文字を非表示に...
-
エクセル オートフィルタで絞...
-
対象セル内(複数)が埋まった...
-
【エクセル】IF関数 Aまたは...
-
(Excel)数字記入セルの数値の後...
-
エクセルのセルの枠を超えて文...
-
EXCEL VBA セルに既に入...
-
Excelでのコメント表示位置
-
公共建築工事 共通仮設費率 エ...
-
Excelで数式内の文字色を一部だ...
-
Excelで教えてください。 バー...
-
エクセルの一つのセルに複数の...
-
Excel2003 の『コメント』の編...
おすすめ情報