簡體   English   中英

Excel外部工作簿參考

[英]Excel External Workbook Reference

我有一個工作表,需要引用一個封閉的或開放的(最好封閉的)外部工作簿來傳遞單元格值。

外部工作簿位於:

C:\\ Users \\ User1 \\ Desktop \\ Folder1

它被稱為“ Page.xls”

我的代碼:

dim tmpCell as range
set tmpCell = Sheet3.("A1")

tmpCell.Value = '... Dunno what to put right here

等號后面的空間是我要放置外部引用的工作簿/單元的位置。

您可以嘗試:

tmpcell.formula = "='C:\Users\User1\Desktop\Folder1\[Page.xls]Sheet1'!A1"

如果這行得通,那么最好的情況是,如果您移動或弄亂了該源工作簿,您仍然會遇到問題,即使您不這樣做,我也認為Excel仍然傾向於表現出奇怪的引用其他工作簿的趨勢。

您的其他選擇是(首先確保源工作簿已關閉)打開工作簿,將值復制過來,然后將其關閉:

dim tmpCell as range
set tmpCell = ThisWorkbook.Worksheets("Sheet3").Range("A1")

dim sourceWorkbook as Workbook
set sourceWorkbook = Workbooks.Open("C:\Users\User1\Desktop\Folder1\Page.xls")
dim sourceWorksheet as Worksheet
set sourceWorksheet = sourceWorkbook.Worksheets("Sheet1")

tmpCell.Value = sourceWorksheet.range("A1").Value

Application.DisplayAlerts = False
sourceWorkbook.Close
Application.DisplayAlerts = True

最后一個選項是與工作簿建立ODBC連接-我確實喜歡第二個選項

我從未找到訪問封閉的Excel文件的方法。 以下是打開文件,復制值和關閉文件所需要的。

dim tmpCell as range
set tmpCell = Sheet3.("A1")
set myFile = "C:\Users\User1\Desktop\Folder1\page.xls"
set myFileName = "page"
set mySheetName = "Sheet1"
set myRange = "A1"

workbooks.open fileName:=myFile
tmpCell.Value = Workbooks(myFileName).Sheets(mySheetName).range(myRange).value
workbooks.close fileName:=myFile

您可以通過兩種方式進行操作:

tmpCell.FormulaR1C1 = "='C:\path\[workbook.xls]Sheet1'R1C2"

'Or alternatively:
tmpCell.Formula = "='C:\path\[workbook.xls]Sheet1'B1"

在這里閱讀更多關於

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM