質問するログイン新規登録

回答編集履歴

7

修正

2021/03/05 23:49

投稿

jinoji
jinoji

スコア4592

answer CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  ```VBA
4
4
 
5
- Set TM = Workbooks.Open(TenkiMoto & "\テスト\転記元.xlsm") '転記元ファイル名を変数格納
5
+ ' Set TM = Workbooks.Open(TenkiMoto & "\テスト\転記元.xlsm") '転記元ファイル名を変数格納
6
+ Set TM = ThisWorkbook 'このマクロがあるファイルが転記元
6
7
  Set TS = Workbooks.Open(TenkiSaki & "\転記先.xlsx") '転記先ファイル名を変数格納
7
8
 
8
9
  Set wsM = TM.Worksheets(1) '転記元シートを変数格納

6

修正

2021/03/05 23:49

投稿

jinoji
jinoji

スコア4592

answer CHANGED
@@ -1,6 +1,10 @@
1
1
  これでどうでしょうか。
2
2
 
3
3
  ```VBA
4
+
5
+ Set TM = Workbooks.Open(TenkiMoto & "\テスト\転記元.xlsm") '転記元ファイル名を変数格納
6
+ Set TS = Workbooks.Open(TenkiSaki & "\転記先.xlsx") '転記先ファイル名を変数格納
7
+
4
8
  Set wsM = TM.Worksheets(1) '転記元シートを変数格納
5
9
  Set wsS = TS.Worksheets(1) '転記先シートを変数格納
6
10
 

5

修正

2021/03/05 13:27

投稿

jinoji
jinoji

スコア4592

answer CHANGED
@@ -1,16 +1,6 @@
1
1
  これでどうでしょうか。
2
2
 
3
-
4
3
  ```VBA
5
-
6
- resultS = wsS.Range("A2").Resize(lastrowS - 1, 2).Find(numberM, lookat:=xlWhole)
7
-
8
- ```
9
-
10
- ---
11
-
12
- (追記)
13
- ```VBA
14
4
  Set wsM = TM.Worksheets(1) '転記元シートを変数格納
15
5
  Set wsS = TS.Worksheets(1) '転記先シートを変数格納
16
6
 

4

修正

2021/03/05 13:05

投稿

jinoji
jinoji

スコア4592

answer CHANGED
@@ -11,8 +11,8 @@
11
11
 
12
12
  (追記)
13
13
  ```VBA
14
- Set wsM = Workbooks(TM).Worksheets(1) '転記元シートを変数格納
14
+ Set wsM = TM.Worksheets(1) '転記元シートを変数格納
15
- Set wsS = Workbooks(TS).Worksheets(1) '転記先シートを変数格納
15
+ Set wsS = TS.Worksheets(1) '転記先シートを変数格納
16
16
 
17
17
  lastrowM = wsM.Cells(wsM.Rows.Count, 1).End(xlUp).Row '転記元シート最終行数抽出
18
18
  lastrowS = wsS.Cells(wsS.Rows.Count, 1).End(xlUp).Row '転記先シート最終行数抽出

3

追記

2021/03/05 13:04

投稿

jinoji
jinoji

スコア4592

answer CHANGED
@@ -11,6 +11,9 @@
11
11
 
12
12
  (追記)
13
13
  ```VBA
14
+ Set wsM = Workbooks(TM).Worksheets(1) '転記元シートを変数格納
15
+ Set wsS = Workbooks(TS).Worksheets(1) '転記先シートを変数格納
16
+
14
17
  lastrowM = wsM.Cells(wsM.Rows.Count, 1).End(xlUp).Row '転記元シート最終行数抽出
15
18
  lastrowS = wsS.Cells(wsS.Rows.Count, 1).End(xlUp).Row '転記先シート最終行数抽出
16
19
 

2

追記

2021/03/05 13:01

投稿

jinoji
jinoji

スコア4592

answer CHANGED
@@ -5,4 +5,20 @@
5
5
 
6
6
  resultS = wsS.Range("A2").Resize(lastrowS - 1, 2).Find(numberM, lookat:=xlWhole)
7
7
 
8
+ ```
9
+
10
+ ---
11
+
12
+ (追記)
13
+ ```VBA
14
+ lastrowM = wsM.Cells(wsM.Rows.Count, 1).End(xlUp).Row '転記元シート最終行数抽出
15
+ lastrowS = wsS.Cells(wsS.Rows.Count, 1).End(xlUp).Row '転記先シート最終行数抽出
16
+
17
+ For i = 2 To lastrowM '転記元検索値が存在するまで繰り返す
18
+ numberM = wsM.Cells(i, 2).Value '転記元検索値を変数格納
19
+ If WorksheetFunction.CountIf(wsS.Range("A2").Resize(lastrowS - 1, 1), numberM) = 0 Then
20
+ lastrowS = lastrowS + 1
21
+ wsS.Cells(lastrowS, 1) = numberM
22
+ End If
23
+ Next i
8
24
  ```

1

修正

2021/03/05 12:58

投稿

jinoji
jinoji

スコア4592

answer CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  ```VBA
5
5
 
6
- resultS = wsS.Range("A2").Resize(lastrowM - 1, 2).Find(numberM, lookat:=xlWhole)
6
+ resultS = wsS.Range("A2").Resize(lastrowS - 1, 2).Find(numberM, lookat:=xlWhole)
7
7
 
8
8
  ```