標題:
[發問]
求教參照代入公式?
[打印本頁]
作者:
mhl9mhl9
時間:
2013-9-11 18:55
標題:
求教參照代入公式?
A1 F:\th\
A2 2013
A3 A
A4 9-Sep
A5 09.xls
A6 abcd
A7 $AB$36
='F:\th\2013\A\09-Sep\[09.xls]abcd'!$AB$36
請問如何把A1:A7的參照寫到公式里去?
我是這樣寫的
="='" &A1&A2&"\"&A3&"\"&TEXT(A4,"dd-mmm")&"\["&A5&"]"&A6&"'!"&A7
得到的string是:
='F:\th\2013\A\09-Sep\[09.xls]abcd'!$AB$36
但這個公式就是不work,求各位幫手,謝謝!
作者:
stillfish00
時間:
2013-9-11 20:21
回復
1#
mhl9mhl9
=INDIRECT("'" &A1&A2&"\"&A3&"\"&TEXT(A4,"dd-mmm")&"\["&A5&"]"&A6&"'!"&A7)
作者:
mhl9mhl9
時間:
2013-9-11 21:15
回復
2#
stillfish00
let me try,thanks
作者:
mhl9mhl9
時間:
2013-9-11 21:33
回復
2#
stillfish00
返回string是正確的但出了"Ref!",不能取得 F:\th\A\09-Sep\09.xls里Range("ab36")的值?
作者:
Hsieh
時間:
2013-9-11 23:48
回復
4#
mhl9mhl9
你將來源檔案開啟應該就能顯示
INDIRECT函數必須在外部參照檔案同時開啟才能正確取得
作者:
mhl9mhl9
時間:
2013-9-12 00:39
回復
5#
Hsieh
即使我打開外部文件還是出"#Ref!"
indirect我是不能用,因為我不可能會打開外部文件,但是我輸入的字串完全和recorder顯示一模一樣,但就是not work
可能我沒把問題講清楚,是這樣的,我要用公式抓取 F:\th\2013\A\09-Sep\09.xls-----sheet1.range("ab36")的值
其中 F:\th\,2013,A,09-Sep,09.xls,sheet1,ab36 這7個data分別在 A1:A7,寫了多次都失敗,請各位幫忙指點,多謝了
作者:
mhl9mhl9
時間:
2013-9-12 00:50
回復
5#
Hsieh
用vb輸入公式是OK的,
Selection.Formula = "='" & [$g$2] & Format([$j$2], "yyyy") & "\" & [$a3] & "\" & Format([$j$2], "dd-mmm") & "\[" & Format([$j$2], "dd") & ".xls]" & [G3] & "'!" & [$j3]
'以上輸入可以抓取值,但儲存格里留下的是"值",不是公式,我不能複製公式!
是不是可以改一改上面的輸入,可以輸入公式,而不是輸入值,就OK了,我改了100次,都失敗
作者:
mhl9mhl9
時間:
2013-9-12 01:30
回復
2#
stillfish00
indirect公式,當09.xls文件打開時,可以取得值
'=INDIRECT("'" &$A$1&$A$2&"\"&$A$3&"\"&TEXT($A$4,"dd-mmm")&"\["&$A$5&"]"&$A$6&"'!"&$A$7)
indirect公式,當09.xls文件關閉時,#REF!
拿走indirect,用以下公式輸入
'="='" &$A$1&$A$2&"\"&$A$3&"\"&TEXT($A$4,"dd-mmm")&"\["&$A$5&"]"&$A$6&"'!"&$A$7
儲存格顯示的是,但不能取得值
'='F:\th\2013\A\09-Sep\[09.xls]Sheet1'!AB36
用手工輸入以上公式,可以正常取得值
'='F:\th\2013\A\09-Sep\[09.xls]Sheet1'!AB36
用公式取得的字串和手工輸入的字串是一模一樣,但就是用公式輸入的not work,手工輸入就ok,希望你能幫忙指點迷徑,謝謝
作者:
GBKEE
時間:
2013-9-12 06:07
回復
7#
mhl9mhl9
Sub Ex()
Dim S As String
S = "='" & [g2] & Format([j2], "yyyy") & "\" & [a3] & "\" & Format([j2], "dd-mmm") & "\[" & Format([j2], "dd") & ".xls]" & [G3] & "'!" & [j3]
Selection.Formula = S
End Sub
複製代碼
作者:
mhl9mhl9
時間:
2013-9-12 12:08
回復
9#
GBKEE
參看 7#,問題還是沒解決.
我想可能我的要求是無法達到的,我想問一問是不是作為worksheetfunction,公式的字串中2個單引號之間不能有"變數"
selection="=a1 & b1" ,selection可以取得帶變數的公式
selection="='a1 & b1'",selection取得的是string----a1&b1
我把你的vb輸入改成如下:
S = "='" & "g2" & "Text(j2, ""yyyy"")" & "\" & "a3" & "\" & "Text(j2, ""dd-mmm"")" & "\[" & "Text(j2, ""dd"")" & ".xls]" & "G3" & "'!" & "j3"
selection=s
selection得到一個錯誤的公式
我把錯誤的公式向下複製,看到只有"j3"會變,j4,j5,j6....
全中"g2","j2","a3","g3"都顯示字串,不能變
所以我想我的要求可能是違反什麽邏輯,是錯的
我記得如果路徑字串中沒有空格,那麼單引號就可以不用,我會試一試,不用但引號,能不能把變數顯示在公式中.
謝謝你的幫助.昨天忙了一天未能如愿,不得意而求其次,只能vb輸入全部公式,參數改變,就只能要user,按鍵求其值改變.
作者:
GBKEE
時間:
2013-9-12 12:57
回復
10#
mhl9mhl9
Option Explicit
Sub Ex()
Dim Ar()
Ar = Array("a1", "A2", "A3")
Sheet1.[B1] = "=INDIRECT(" & Ar(0) & "&" & Ar(1) & "&" & Ar(2) & ")"
End Sub
複製代碼
如圖
[attach]16049[/attach]
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)