註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 如何利用VBA對另個檔案的資料庫進行篩選,然後將選出的值存入表格中
返回列表
下一主題
上一主題
發帖
[發問]
如何利用VBA對另個檔案的資料庫進行篩選,然後將選出的值存入表格中
colinyang
發短消息
加為好友
colinyang
當前離線
UID
24463
帖子
8
主題
1
精華
0
積分
9
金錢
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
在線時間
10 小時
註冊時間
2016-4-27
最後登錄
2019-2-24
小學生
帖子
8
主題
1
精華
0
積分
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
註冊時間
2016-4-27
最後登錄
2019-2-24
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2016-4-27 13:37
|
顯示全部帖子
[發問]
如何利用VBA對另個檔案的資料庫進行篩選,然後將選出的值存入表格中
個人對VBA較為生疏,但是目前功能函數已無法滿足,故發問前來求助個位VBA專家..
也希望藉此來提升自身VBA的程度,後續也會努力回饋各位的!!!
檔案有兩個
data.xlsx : 資料列表
下載
(27.98 KB)
2016-4-27 13:22
list.xlsm : VBA的Form與紀錄區域
下載
(19.4 KB)
2016-4-27 13:35
如果希望list.xlsm的ComboBox針對data.xlsx資料列表進行篩選
(類似自動篩選,彼此關係是連動的,根據範圍的選定後,後面可選的選項會縮小,例如北部/國立/A學校,南部/私立/H學校)
然後最後list.xlsm的三個ComboBox選定後再按輸入資料後,會輸入在list.xlsm的輸入資料欄位內,若上一列有資料則會繼續向下遞補
希望各位可以幫忙一下,感謝各位的協助,謝謝大家..
file.rar
(16.42 KB)
資料列表與VBA紀錄區域
下載次數: 10
2016-4-27 13:37
收藏
分享
colinyang
發短消息
加為好友
colinyang
當前離線
UID
24463
帖子
8
主題
1
精華
0
積分
9
金錢
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
在線時間
10 小時
註冊時間
2016-4-27
最後登錄
2019-2-24
小學生
帖子
8
主題
1
精華
0
積分
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
註冊時間
2016-4-27
最後登錄
2019-2-24
2
#
發表於 2016-4-27 20:48
|
顯示全部帖子
回復
1#
colinyang
應該是說ComboBox比較像是連動選單,因為沒有要針對原始資料進行篩選,只有下拉式選單要資料連動而已..
不好意思..
TOP
colinyang
發短消息
加為好友
colinyang
當前離線
UID
24463
帖子
8
主題
1
精華
0
積分
9
金錢
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
在線時間
10 小時
註冊時間
2016-4-27
最後登錄
2019-2-24
小學生
帖子
8
主題
1
精華
0
積分
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
註冊時間
2016-4-27
最後登錄
2019-2-24
3
#
發表於 2016-4-28 10:54
|
顯示全部帖子
回復
3#
lpk187
實際測試,下拉選單與輸入皆無異常,這對我而言真的是一個經典的範例,真的十分的感謝
後續將會再進行分頁的增加再進行測試,好好解析一下程式碼了,若有任何問題會再與您請教
真的是太感謝了!!!
TOP
colinyang
發短消息
加為好友
colinyang
當前離線
UID
24463
帖子
8
主題
1
精華
0
積分
9
金錢
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
在線時間
10 小時
註冊時間
2016-4-27
最後登錄
2019-2-24
小學生
帖子
8
主題
1
精華
0
積分
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
註冊時間
2016-4-27
最後登錄
2019-2-24
4
#
發表於 2016-4-29 20:08
|
顯示全部帖子
回復
3#
lpk187
Dear lpk187,
如果我的Data工作表再加入一個"學校名單2"
下載
(25.99 KB)
增加一工作表
2016-4-29 20:03
我在List在新增1個ComboBox4來進行切換作業
已在Form Initial的時候addItem進ComboBox4了
下載
(9.92 KB)
新增一個ComboBox4來進行工作表切換
2016-4-29 20:03
結果在SQL語法中利用"&"進行SQL字串與變數連接時,執行時卻造成以下異常,我該如何修正我的語法來達到變更的目的呢...
下載
(11.3 KB)
ERROR
2016-4-29 20:03
以下為程式碼,並附上檔案,還請您指教..謝謝
File2.rar
(29.22 KB)
資料表與輸入表
下載次數: 5
2016-4-29 20:07
Option Explicit
Dim myCon As Object, myRs As Object, SQL$
Private Sub ComboBox1_Click()
ComboBox2.Clear
ComboBox3.Clear
'增加了ComboBox4.Value至 FROM的後面來切換工作表
SQL = "SELECT 公私立" & _
" FROM [& ComboBox4.Value &$]" & _
" Where 區域 Like '" & ComboBox1.Value & "'" & _
" GROUP BY 公私立;"
Set myRs = myCon.Execute(SQL)
ComboBox2.List = Application.Transpose(myRs.GetRows)
End Sub
Private Sub ComboBox2_Click()
ComboBox3.Clear
'增加了ComboBox4.Value至 FROM的後面來切換工作表
SQL = "SELECT 學校" & _
" FROM [& ComboBox4.Value &$]" & _
" GROUP BY 學校, [區域] & [公私立]" & _
" HAVING [區域] & [公私立] Like '" & ComboBox1.Value & ComboBox2.Value & "';"
Set myRs = myCon.Execute(SQL)
ComboBox3.List = Application.Transpose(myRs.GetRows)
End Sub
Private Sub CommandButton1_Click() '輸人資料
Dim ro
With Sheets("工作表1")
ro = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Cells(ro, 2) = ComboBox1.Value
.Cells(ro, 3) = ComboBox2.Value
.Cells(ro, 4) = ComboBox3.Value
End With
ComboBox3.Clear
ComboBox2.Clear
ComboBox1.Value = ""
End Sub
Private Sub CommandButton2_Click() '離開
Unload Me
End Sub
Private Sub UserForm_Initialize()
Set myCon = CreateObject("ADODB.Connection")
Set myRs = CreateObject("ADODB.Recordset")
myCon.Open "provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.Path & "\data.xlsx;" & _
"Extended Properties=""Excel 12.0;HDR=Yes;"";"
'增加了ComboBox4.Value至 FROM的後面來切換工作表
SQL = "SELECT 區域" & _
" FROM [& ComboBox4.Value &$]" & _
" GROUP BY 區域;"
Set myRs = myCon.Execute(SQL)
ComboBox1.List = Application.Transpose(myRs.GetRows)
Set myRs = Nothing
' 加入ComboBox4的Vlaue
ComboBox4.AddItem "學校名單"
ComboBox4.AddItem "學校名單2"
' myCon.Close
' Set myCon = Nothing
End Sub
複製代碼
Best Regards,
Colin
TOP
colinyang
發短消息
加為好友
colinyang
當前離線
UID
24463
帖子
8
主題
1
精華
0
積分
9
金錢
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
在線時間
10 小時
註冊時間
2016-4-27
最後登錄
2019-2-24
小學生
帖子
8
主題
1
精華
0
積分
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
註冊時間
2016-4-27
最後登錄
2019-2-24
5
#
發表於 2016-4-29 21:59
|
顯示全部帖子
回復
6#
lpk187
謝謝你,造成您的困擾了...抱歉
TOP
colinyang
發短消息
加為好友
colinyang
當前離線
UID
24463
帖子
8
主題
1
精華
0
積分
9
金錢
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
在線時間
10 小時
註冊時間
2016-4-27
最後登錄
2019-2-24
小學生
帖子
8
主題
1
精華
0
積分
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
註冊時間
2016-4-27
最後登錄
2019-2-24
6
#
發表於 2016-4-30 00:47
|
顯示全部帖子
回復
8#
Hsieh
謝謝版主,看起來又是另外一種方式來進行選取呢!會好好吸收的!不過在Combobox4選取時會有畫面更新的動作
加入Application.ScreenUpdating = False,可以抑止更新狀況,但是同樣輸入的時候資料不會浮現..必須重新打開檔案才看的到
但是程式碼還是很值得學習,謝謝呢!!!
TOP
colinyang
發短消息
加為好友
colinyang
當前離線
UID
24463
帖子
8
主題
1
精華
0
積分
9
金錢
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
在線時間
10 小時
註冊時間
2016-4-27
最後登錄
2019-2-24
小學生
帖子
8
主題
1
精華
0
積分
9
點名
0
作業系統
Windows 7
軟體版本
Office 2013
閱讀權限
10
性別
男
註冊時間
2016-4-27
最後登錄
2019-2-24
7
#
發表於 2016-5-2 12:54
|
顯示全部帖子
各位好..有發現個問題想問了..是關於資料有Null的部分
下載
(41.62 KB)
資料有NULL
2016-5-2 12:51
在轉換時因為會有字串與NULL的問題,所以轉換資料會出現異常
下載
(20.41 KB)
轉換時出現異常
2016-5-2 12:51
有查詢到SQL可使用CASE進行IS NOT NULL判讀..可是接著在CASE IS NOT NULL "WHEN"的時候
ADODB認不出WHEN的方法..請問該如何將NULL移除呢..謝謝
TOP
靜思自在 :
成功是優點的發揮,失敗是缺點的累積。
返回列表
下一主題
上一主題
Excelㄧ般區
進階應用專區
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲