請問 HLOOKUP 的 table_array 這部分使用名稱定義是否可行!
- 帖子
- 1
- 主題
- 1
- 精華
- 0
- 積分
- 7
- 點名
- 0
- 作業系統
- office 2003
- 軟體版本
- 2003
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2013-3-19
- 最後登錄
- 2019-2-17
|
請問 HLOOKUP 的 table_array 這部分使用名稱定義是否可行!
想用 HLOOKUP 的 table_array 這部分使用名稱定義
並且用一個儲存格紀錄檔案的位置 = 'D:\[晴雨表.xlsx]天氣狀況統計'!$D$3:$AAR$6
Sheets("1.切換").Range("A16") = 'D:\[晴雨表.xlsx]天氣狀況統計'!$D$3:$AAR$6
但是在名稱管理器的部分確顯示 ="D:\[晴雨表.xlsx]天氣狀況統計'!$D$3:$AAR$6",導致HLOOKUP的 table_array 範圍錯誤。
相關VBA如下:
Sub test() '透過vba,讓hlookup可以用"名稱定義"的方式,快速參考晴雨表位置
Dim a As String
a = Sheets("1.切換").Range("A16") '.Value
ActiveWorkbook.Names.Add Name:="晴雨表", RefersTo:=a
End Sub
已經測試過字符串的方式也無法達成,有長輩處理過這樣的問題嗎!先感謝了 |
|
|
|
|
|
|
- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
2#
發表於 2017-3-28 19:14
| 只看該作者
回復 1# a8552065
A16儲存格前面額外多加一個單引號看看。 |
|
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
3#
發表於 2017-3-29 08:59
| 只看該作者
回復 1# a8552065
試試看- Option Explicit
- Sub Ex()
- Dim Wb(1 To 2) As Variant, Rng(1 To 2) As Range, MyWb As Workbook
- Set MyWb = ActiveWorkbook
- Set Rng(1) = MyWb.Sheets("1.切換").Range("A16") ''D:\[晴雨表.xlsx]天氣狀況統計'!$D$3:$AAR$6
- Wb(1) = Split(Rng(1), "]")(0) ''D:\[晴雨表.xlsx
- Wb(1) = Replace(Wb(1), "[", "") ''D:\晴雨表.xlsx
- Wb(2) = Split(Split(Rng(1), "]")(1), "!") 'Wb(2)(0)='天氣狀況統計' , Wb(2)(1)=$D$3:$AAR$6
- With Workbooks.Open(Wb(1))
- Set Rng(2) = .Sheets(Wb(2)(0)).Range(Wb(2)(1)) 'D:\[晴雨表.xlsx]天氣狀況統計'!$D$3:$AAR$6
- MyWb.Names.Add Name:=" 晴雨表", RefersTo:=Rng(2)
- .Close
- End With
- End Sub
複製代碼 |
|
|
|
|
|
|