標題:
[發問]
可否將共用的資料庫獨立,在不開啟檔案情況下正常使用vlookup函數?
[打印本頁]
作者:
onegirl0204
時間:
2011-6-23 20:50
標題:
可否將共用的資料庫獨立,在不開啟檔案情況下正常使用vlookup函數?
如標題所言∼可否將共用的學生基本資料庫獨立成一個EXCEL檔案(學校有設立一個專屬的硬碟區可存放大家共用檔案),在不開啟該檔案情況下,仍舊可以正常使用vlookup函數?
例如:我新增一個叫做99學年度暑期夏令營.xls的檔案,利用vlookup函數連結學生基本資料庫.xls裡的學生出生年月日及身分證等等資料,前提條件是只開啟夏令營檔案而學生資料庫檔案卻是未開啟狀況,vlookup函數仍舊可以正常運作,不知可否?
我之所以這樣謹慎求證是因為資料庫是我自行建立的,而且我會將所有共用資料庫的檔案以不同的工作表命名存放在同一個檔案內,理所當然時間久了檔案會愈來愈大,即使每一學期相關活動文件自成一獨立檔案,往往因檔案過大處理時偶而會發生當機。加上別的同事也會運用到學生基本資料庫,基於資源共享理念,才會打算將學生基本資料庫獨立存放在共用硬碟區。
煩請有此經驗的前輩們提供寶貴意目,感激不盡,謝謝!
作者:
mark15jill
時間:
2011-6-24 08:06
回復
1#
onegirl0204
你的意思是說
要一個檔案作為 查詢
然後其他檔案作為該 檔案的資料擷取來源???
以下原始碼 為 版大之前所做的 擷取該小段出來....
Private Sub CommandButton1_Click() '此功能按鈕名稱為 查詢
Sheets("查詢").Select
'此區為 查詢功能的程式碼
Sheets("查詢").Select
Range("A2:cz65535").Clear
Dim Ar()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
With Sheet1
nd = IIf(OptionButton1 = True, 1, IIf(OptionButton2 = True, 2, IIf(OptionButton3 = True, 3, IIf(OptionButton4 = True, 4, IIf(OptionButton5 = True, 5, IIf(OptionButton6 = True, 6, IIf(OptionButton7 = True, 8, IIf(OptionButton8 = True, 10, IIf(OptionButton9 = True, 12, IIf(OptionButton10 = True, 13, IIf(OptionButton11 = True, 14, IIf(OptionButton12 = True, 15, IIf(OptionButton13 = True, 16, IIf(OptionButton14 = True, 17, IIf(OptionButton15 = True, 25, 0))))))))))))))) '這邊我是用 OPTIONBUTTON當作查詢的選項控制
mystr = "*" & TextBox1 & "*"
'---此區為判讀
If nd = 0 Then MsgBox "請選擇查詢項目": Exit Sub
fs = Dir(ThisWorkbook.Path & "\*總表.xls") '這邊改你要的名稱
Do Until fs = ""
With Workbooks.Open(ThisWorkbook.Path & "\" & fs)
For Each Sh In .Sheets
With Sh
If Application.CountA(.Columns(nd)) = 0 Then GoTo 10
For Each a In .Columns(nd).SpecialCells(xlCellTypeConstants)
If a Like mystr Then
ReDim Preserve Ar(S)
Ar(S) = Array(fs, .Name, S + 1, .Cells(a.Row, 1).Value, .Cells(a.Row, 2).Value, .Cells(a.Row, 3).Value, .Cells(a.Row, 4).Value, .Cells(a.Row, 5).Value, .Cells(a.Row, 6).Value, .Cells(a.Row, 7).Value, .Cells(a.Row, 8).Value, .Cells(a.Row, 9).Value, .Cells(a.Row, 10).Value, .Cells(a.Row, 11).Value, .Cells(a.Row, 12).Value, .Cells(a.Row, 13).Value, .Cells(a.Row, 14).Value, .Cells(a.Row, 15).Value, .Cells(a.Row, 16).Value, .Cells(a.Row, 17).Value, .Cells(a.Row, 18).Value, .Cells(a.Row, 19).Value, .Cells(a.Row, 20).Value, .Cells(a.Row, 21).Value, .Cells(a.Row, 22).Value, .Cells(a.Row, 23).Value, .Cells(a.Row, 24).Value, .Cells(a.Row, 25).Value) '這邊是判斷欄位
S = S + 1
Label1.Caption = " 查詢名稱:" & TextBox1.Text & " ; " & " 查詢的筆數為:" & S & " 筆資料"
Label2.Caption = "查詢時間:" & Date & " " & Time
End If
Next
10
End With
Next
.Close 0
End With
fs = Dir
Loop
If S > 0 Then
.[A2:z65536] = ""
.[A2].Resize(S, 28) = Application.Transpose(Application.Transpose(Ar))
Else
MsgBox "查無資料"
End If
End With
Application.ScreenUpdating = True
'ActiveWindow.Close savechanges:=True
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)