Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。
excel 使用userform表單作下拉式選單更改資料2
3 個解答
- 准提部林Lv 77 年前最愛解答
EXCEL VBA.利用UserForm建立後,如何再執行更改內容
<.准提部林.>
---------------------------------
■程式碼1:以〔更改〕模式啟動Form
Sub 更改()
Set xRng = ActiveCell
With xRng '先〔選取〕要更改的資料列
If .Column <> 2 Or .Row < 5 Or .Value = "" Then
MsgBox "請選擇要更改的〔姓名〕列 ": Exit Sub
End If
End With
xMode = 2 '以參數提供程式判別〔新增〕或〔更改〕
UserForm2.Show
End Sub
■程式碼2:按下〔確定〕填入資料
Private Sub CommandButton1_Click()
Dim ct As Control, mi As Long, uR As Range
If ComboBox1 = "" Then _
MsgBox "※請選擇[姓名]!" & vbCr: ComboBox1.SetFocus: Exit Sub
If Val(ComboBox2) = 0 Then _
MsgBox "※請選擇[區域]!" & vbCr: ComboBox2.SetFocus: Exit Sub
Set uR = [B65536].End(xlUp)(2) '這是〔新增〕資料的定位格
If xMode = 2 Then Set uR = xRng '若為〔更改〕,則以〔選取格〕定位
uR.Select
uR.Resize(1, 3) = Array(ComboBox1, ListBox1.List(0), ComboBox2)
MsgBox IIf(xMode = 2, "~更改", "~新增") & ".完成~ "
End Sub
---------------------------------
<範例檔>下載:
檔案名稱:TEST(任務調派).rar
下載連結:http://www.funp.net/511047
---------------------------------
2014-11-03 20:18:03 補充:
Private Sub UserForm_Initialize()
~~
~~
On Error Resume Next
If xMode = 2 Then
ComboBox1.Value = xRng
ComboBox2.Value = xRng(1, 3)
End If
End Sub
載入表單最後加入On Error 指令,以防沒有符合內容發生錯誤!
2014-11-04 09:57:18 補充:
提醒一下:
ComboBox 的屬性〔Style〕設為 2-fmStyleDropDownList
強制使用者只能從下拉清單中選取輸入,無法手輸,
即可避免輸入錯誤的資料!