我有編程經驗,但是,我是VBA的新手。我有一個我正在處理的用戶表單。此表單有一個組合框,其中有一個已初始化的列表。我想要做的是:找到基於值的單元格位置,然後做一些事情 - 用戶窗體VBA Excel
*獲取用戶從組合框中輸入的ID號碼值 *獲取用戶輸入的值,並使用工作表中的一系列值(即Worksheet)查找其匹配值。範圍(「ID_Number_List」)) *獲得匹配後,獲取匹配的單元格的位置 * Off將單元格的位置設置爲一列,以獲取與ID號(相同行)相關的名稱將其設置爲textBoxName.Value *將其設置爲兩列以獲取與ID號相關的電話號碼並將其設置爲textboxTele.value
我希望在Combobox中選擇一個值時立即發生, 所以我的問題是我的代碼是在組合框中進行還是轉到下一個文本框?因此只要人員切換到下一個文本框,代碼就會自動執行。我希望代碼能夠完全執行,而不會跳到下一個框中。
此代碼是不完整的,但這裏是我(我沒有加過設置部分,我只是做了一個測試執行):
Dim ORIValue As String
'get value from combo_box Set
ORIValue = COMBO_ORILIST.Value
Dim cLoc As Range
Dim cORIVal As Range
'worksheet with the ID information Dim ORISheetList As Worksheet
Set ORISheetList = Worksheets("ORI_LIST")
'
For Each cLoc In ORISheetList.Range("ORI_LIST")
'compare the input string from list- considering using Match function for this
If StrComp(cLoc, ORIValue, vbTextCompare) Then TextBAgencyName.Value = "test"
Else: Next cLoc
End If
讓我知道你在想什麼。如果我必須重寫所有我會的東西。
請參閱此鏈接如何在Excel中使用.Find()http://siddharthrout.wordpress.com/2011/07/14/find-and-findnext-in-excel-vba/ –