標題:
[發問]
list 無法設定
[打印本頁]
作者:
prince120101
時間:
2014-12-29 17:48
標題:
list 無法設定
請問各位大大
下方最下面 ListBox3.List = opop.Value<===程式執行時會出現 無法設定LIST 屬性
想請問是哪邊沒有定義到嗎??
動作
要將 搜尋到的值放到 ListBox3
.
.
.
If ListBox1.Value = "RPR-018" Then Worksheets("RPR-018").Activate
If ListBox1.Value = "NFPR-010" Then Worksheets("NFPR-010").Activate
Dim opop As Range
Dim NON As String
Dim jjo As Long
NON = ListBox1.Value
jjo = ListBox2.Value
Set opop = Workbooks("TEST.xlsm").Worksheets(NON).Columns("d").Cells.Find(What:=jjo, SearchDirection:=xlNext)
If opop Is Nothing Then MsgBox "找不到!": Exit Sub
If Not opop Is Nothing Then
ListBox3.List = opop.Value
End If
複製代碼
作者:
GBKEE
時間:
2014-12-30 07:46
本帖最後由 GBKEE 於 2014-12-30 08:04 編輯
回復
1#
prince120101
Private Sub ListBox2_Click()
Dim opop As Range, jjo As Long
Sheets(ListBox1.Value).Activate
jjo = ListBox2.Value
Set opop = Workbooks("TEST.xlsm").Worksheets(ListBox1.Value).Columns("d").Cells.Find(What:=jjo, SearchDirection:=xlNext)
With ListBox3
.Clear '清除 控制項(清單方塊或下拉式清單方塊)的內容
If opop Is Nothing Then
MsgBox "找不到!"
ElseIf Not opop Is Nothing Then
i = 0
Do While opop.Offset(i) Like jjo & "*" '往下符合 jjo* 的字串
.AddItem '清單方塊中加入一個項目
.List(.ListCount - 1, 0) = opop.Offset(i)
i = i + 1
Loop
'單獨一個儲存格無法指定到控制項的List
'ListBox3.List = opop.Resize(2).Value '///可以試試看///
'可以指定到控制項的 .Value
ListBox3.Value = opop.Value
End If
End With
End Sub
複製代碼
作者:
prince120101
時間:
2014-12-30 10:56
回復
2#
GBKEE
謝謝 GBKEE的回覆
剛測試後 可以顯示在ListBox3的清單方塊中
有幾個問題想問一下
1.
With ListBox3
.Clear
複製代碼
很多程序 也都會加入這樣清除 清單或下拉式清單 的指令,但剛把.clear 註解之後 發現效果一樣
是跟.value & .additem 有關係嗎?? 還是只是一個習慣都會這樣加??
2.
Do While opop.Offset(i) Like jjo & "*"
複製代碼
加上"*"號表示此關鍵字前後可能含有零或多個字元,剛把 & "*" 註解之後
執行時 會在 ListBox3.Value = opop.Value 出現 "無法設定Value屬性",所以是"往下搜尋符合的字串"時候都需要加這"*"??
3.
'單獨一個儲存格無法指定到控制項的List
' ListBox3.List = opop.Resize(2).Value '///可以試試看///
'可以指定到控制項的 .Value
ListBox3.Value = opop.Value
複製代碼
Resize(數值) 測試後 更改數值的話 那在 ListBox3 會隨著數值而去抓取儲存格的個數 如輸入5 它就去抓取5個儲存格的樣子 是這樣嗎??
但我不太懂你註解的意思 @@??
4.程式在執行時 當遇到空白儲存格<圖一>它就只會抓取空白儲存格以上的值而已<圖二> 其它值不會抓取到??
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)