標題:
[發問]
下拉式選單的更新
[打印本頁]
作者:
bridetobe
時間:
2014-7-8 14:14
標題:
下拉式選單的更新
想請問下拉式選單的更新
若在清單裡面已經改了資料
但是在下拉式裡面並不會自己去更新已經更新過的資料
而要重新拉
這有辦法可以解決嗎
作者:
小華
時間:
2014-7-8 20:12
你是指Combobox(下拉式選單)裡面的資料不會自動更新嗎?
作者:
bridetobe
時間:
2014-7-9 08:12
回復
2#
小華
意思是原本有一筆資料"123"在清單裏
我現在把123改成456
可是下拉式選單沒有更新
[attach]18658[/attach]
要手動重拉
作者:
Hsieh
時間:
2014-7-9 09:36
回復
3#
bridetobe
不會有這樣情形才對,上傳檔案來看看
作者:
bridetobe
時間:
2014-7-9 09:43
回復
4#
Hsieh
[attach]18661[/attach]
這個部份~
作者:
Hsieh
時間:
2014-7-9 10:11
回復
5#
bridetobe
會自動更新丫!你怎麼操作的?
[attach]18663[/attach]
作者:
bridetobe
時間:
2014-7-9 10:29
回復
6#
Hsieh
阿我的意思是...
如果你把#702改702
那像7/7號的第一筆還是顯示#702而不是702
這樣子還要把從7/1~7/7的#702拉成702
作者:
Hsieh
時間:
2014-7-9 10:46
回復
7#
bridetobe
要更改已經輸入內容就必須重新寫入
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Range
If Target.Column <> 2 Then Exit Sub
With Sheet3
ThisWorkbook.Names.Add "清單", "=OFFSET(" & .Name & "!$A$1,,,COUNTA(" & .Name & "!$A:$A),)"
With Range("B:B").Validation
.Delete
.Add xlValidateList, , , "=清單"
End With
Select Case Target.Value
Case "新增"
newitem = InputBox("輸入新增項目")
If Application.CountIf([清單], newitem) = 0 Then
Set A = .Columns("A:A").Find("新增", lookat:=xlWhole)
A.Insert xlShiftDown
A.Offset(-1) = newitem
Target = newitem
Else
MsgBox "項目已存在清單內"
End If
Case "刪除"
delitem = InputBox("輸入刪除項目")
Set A = .Columns("A:A").Find(delitem, lookat:=xlWhole)
If A Is Nothing Then
MsgBox delitem & "不存在清單內"
Else
A.Delete xlShiftUp
End If
Case "修改"
chitem = InputBox("輸入修改項目")
Set A = .Columns("A:A").Find(chitem, lookat:=xlWhole)
If A Is Nothing Then
MsgBox chitem & "不存在清單內"
Else
A.Value = InputBox("輸入更正項目", , chitem)
Target = A
Range("B:B").Replace chitem, A 'B欄所有已經輸入的資料一起替換
End If
End Select
End With
With Range("B:B").Validation
.Modify xlValidateList, , , "=清單"
End With
End Sub
複製代碼
作者:
bridetobe
時間:
2014-7-9 10:59
回復
8#
Hsieh
原來是這樣 謝謝!
我以為要另外寫或是怎樣的~~~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)