|
▼わさび さん:
こんばんは。
>もう1度、もう1度だけ説明させてください。
仰っていることは何となく分かりますけどね・・・、
再現ができません。
まず、「ほら、このとおりにの手順で二つのブックを作成すると
申し上げたとおりの現象になりますね!!」
と記述できるような再現手順書が必要です。
例えば、新規ブックの標準モジュールに
'==============================================================
Sub ready()
With Workbooks.Add
With .Worksheets("sheet1")
With .Range("c1:c30")
.Formula = "=""JP"" & text(row(),""000000"")"
.Value = .Value
End With
With .Range("a1:a30")
.Formula = "=if(c1="""","""",c1)"
End With
End With
Application.DisplayAlerts = False
.SaveAs ThisWorkbook.Path & "\Refsample.xls"
.Close False
Application.DisplayAlerts = True
End With
With ActiveSheet
.Range("a1").Value = "JP000005"
.Range("b1").Formula = "=match(a1,'" & ThisWorkbook.Path & "\[Refsample.xls]Sheet1'!A:A,0)"
End With
End Sub
上記のコードをコピーし、一度適当な名前で保存した後に上記のreadyを
実行してみて下さい(仮にsmp1.xlsというブック名で適当なフォルダ下に保存します)。
その後、プロシジャーreadyを実行してみて下さい。
参照ブックをsmp1.xlsと同じフォルダ下に「Refsample.xls」というブック名で
作成します。
Refsample.xlsのSheet1のセルA1からA30に
数式「=IF(C1="","",C1)」を設定してあります。
(C1からC30には文字列を入力しています)
このブックのSheet1のA列を開かずに参照することを考えます。
smp1.xlsのアクティブシートのA1に"JP000005"、
B1に
=MATCH(A1,'D:\xxxx\[Refsample.xls]Sheet1'!A:A,0)
↑ここは、実際のフォルダ名
という数式が設定されますが、正常な値(5)を返していますよね?
わさびさんが今度は、#N/Aになる再現手順を提示してください。
|
|