回答編集履歴
1
コメント追記とアドレスの取得処理変更
answer
CHANGED
@@ -5,13 +5,25 @@
|
|
5
5
|
Dim tR2 As Long
|
6
6
|
Dim tC1 As Long
|
7
7
|
Dim tC2 As Long
|
8
|
+
'Dim tAddress As String
|
8
|
-
Dim
|
9
|
+
Dim tAddress1 As String
|
10
|
+
Dim tAddress2 As String
|
11
|
+
|
12
|
+
' rSheet1のUsedRangeとrSheet2のUsedRangeの両方を含む範囲を求める
|
9
13
|
tR1 = WorksheetFunction.Min(rSheet1.UsedRange.Row, rSheet2.UsedRange.Row)
|
10
14
|
tR2 = WorksheetFunction.Max(rSheet1.UsedRange.Row + rSheet1.UsedRange.Rows.Count - 1, rSheet2.UsedRange.Row + rSheet2.UsedRange.Rows.Count - 1)
|
11
15
|
tC1 = WorksheetFunction.Min(rSheet1.UsedRange.Column, rSheet2.UsedRange.Column)
|
12
16
|
tC2 = WorksheetFunction.Max(rSheet1.UsedRange.Column + rSheet1.UsedRange.Columns.Count - 1, rSheet2.UsedRange.Column + rSheet2.UsedRange.Columns.Count - 1)
|
17
|
+
|
13
|
-
tAddress = rSheet1.Range(rSheet1.Cells(tR1, tC1), rSheet1.Cells(tR2, tC2)).Address
|
18
|
+
'tAddress = rSheet1.Range(rSheet1.Cells(tR1, tC1), rSheet1.Cells(tR2, tC2)).Address
|
14
|
-
MyEXACT = Evaluate("AND(EXACT([" & rSheet1.Parent.Name & "]" & rSheet1.Name & "!" & tAddress & ",[" & rSheet2.Parent.Name & "]" & rSheet2.Name & "!" & tAddress & "))")
|
19
|
+
'MyEXACT = Evaluate("AND(EXACT([" & rSheet1.Parent.Name & "]" & rSheet1.Name & "!" & tAddress & ",[" & rSheet2.Parent.Name & "]" & rSheet2.Name & "!" & tAddress & "))")
|
20
|
+
' 範囲のアドレスを取得
|
21
|
+
tAddress1 = rSheet1.Range(rSheet1.Cells(tR1, tC1), rSheet1.Cells(tR2, tC2)).Address(External:=True)
|
22
|
+
tAddress2 = rSheet2.Range(rSheet2.Cells(tR1, tC1), rSheet2.Cells(tR2, tC2)).Address(External:=True)
|
23
|
+
|
24
|
+
' EXACT実行
|
25
|
+
MyEXACT = Evaluate("AND(EXACT(" & tAddress1 & "," & tAddress2 & "))")
|
15
26
|
End Function
|
16
27
|
|
17
|
-
```
|
28
|
+
```
|
29
|
+
※コメント追記とアドレスの取得処理変更
|