我有一張名爲「查找」的紙張,並在該紙張的單元格B2中,用戶可以輸入部門代碼(例如190)並選擇「搜索」按鈕: Excel VBA獲取價值將一張紙作爲另一張紙上的搜索結果的參數
一旦他們點擊搜索按鈕,它會帶他們到一個叫紙「department_lookup」這列A與部門代碼190帳戶代碼中,並在塔B賬戶代碼說明。但是,在單元格C1中,我希望爲查找單元格「department_lookup」中的查詢可以刷新以顯示正確數據的方式搜索填充單元格C1的值。這裏是片「department_lookup」樣子:
在列A & B將取決於許多帳戶代碼怎麼有部門代碼在這190是一個列表。
本質上,在片材數據department_lookup是一個動態查詢,我想小區C1到是改變查詢以顯示帳戶碼的參數值,該用戶是在單元格B2在片材搜索查找。
下面的代碼我有片查找:
On Error GoTo Done:
If Target.Column = 2 And Target.Cells.Count = 1 Then
Cancel = True
mycell = Sheets("department_lookup").Range("$C$1").Value
If mycell = " " Then GoTo Done:
Sheets("department_lookup").Activate
End If
Sheets("acct_codes").Visible = False
Sheets("dept_list").Visible = False
Cancel = True
Application.ScreenUpdating = True
End Sub
這裏是VBA我有片department_lookup:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$1" Then
With ActiveWorkbook.Connections("deptlookup").OLEDBConnection
.CommandText = "select seg1_code+'-'+seg2_code+'-'+seg3_code+'-'+seg4_code as account_code, account_description from glchart as GL where GL.inactive_flag = 0 and seg2_code='" & Range("C1").Value & "' order by seg1_code"
End With
ActiveWorkbook.Connections("deptlookup").Refresh
End If
End Sub
目前,當我手動更改的值單元格C1到不同的部門代碼,查詢department_lookup將更改爲顯示正確的代碼,但是,我認爲我的問題我s正確設置C1等於任何用戶在單元格B2中查找的單元格查找。任何人都可以幫忙嗎?
只需將此行添加到您的搜索按鈕的代碼中: '工作表(「department_lookup」)。範圍(「C1」)。值=工作表(「lookup」)。範圍(「B2」)。值' – dwirony