返回列表 上一主題 發帖

修改程式碼

回復 1# man65boy
  1. Option Explicit
  2. Private Sub CommandButton1_Click()
  3.     Dim ranme As Variant
  4.     '輸入員工編號後用 函數來取得員工姓名
  5.     ranme = Application.Match(TextBox3.Text, Sht2.Range("D:D"), 0)
  6.     '如找到 ranme->傳回數字 ,否則 ranme ->錯誤值 "# N/A"
  7.     If IsError(ranme) Then    '如果查無員工編號,要求重新輸入員工編號
  8.         MsgBox "查無員工編號,請重新輸入"
  9.         UserForm1.TextBox3.Text = ""
  10.         UserForm1.TextBox3.SetFocus
  11.         Exit Sub
  12.     End If
  13.     With Sht1
  14.         .Range("A2") = Me.ComboBox1.List(Me.ComboBox1.ListIndex, 0)
  15.         .Range("A4") = Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1)
  16.         .Range("B4") = TextBox2.Text
  17.         .Range("B7") = TextBox3     '這裡是TextBox3轉寫地方
  18.     End With
  19. End Sub
複製代碼

TOP

回復 3# man65boy
  1. Dim sht1 As Worksheet
  2. Dim sht2 As Worksheet
  3. Private Sub ComboBox1_Change()
  4.     Dim i As Integer
  5.     i = ComboBox1.ListIndex    'ListIndex 屬性 用來識別 ListBox 或 ComboBox 中的目前選取專案

  6.     With sht1
  7.         If i < 0 Then         ' -1 時 ComboBox1的選取不在ComboBox1.List的範圍
  8.             TextBox3.Text = ""            '
  9.             .Range("B7") = ""
  10.         Else
  11.             TextBox3 = ComboBox1.List(i, 1)          ' sht2.Range("d2:e" & r).Value: 第2欄:姓名
  12.             .Range("B7") = ComboBox1.List(i, 1)
  13.         End If
  14.     End With
  15. End Sub
  16. Private Sub UserForm_Initialize()
  17.     Dim r As Integer
  18.     Set sht1 = Sheets("列印")
  19.     Set sht2 = Sheets("資料表")
  20.     r = sht2.Range("D65536").End(xlUp).Row
  21.     With ComboBox1
  22.         .List = sht2.Range("D2:E" & r).Value   '設置ComboBox1的List的內容
  23.         .ColumnCount = 1                       '只顯示 第1欄:編號   ,第2欄:姓名->不顯示
  24.         .Style = 0                             'ComboBox 為一個下拉式清單。 使用者或從下拉式清單中選取可在文字區輸入 ( 預設 )。         '
  25.         .MatchRequired = Fasle                 'MatchRequired 屬性為 True,使用者就必須輸入符合清單中既有專案的文字,才可離開 ComboBox。藉著要求使用者選取既有的專案,可以使 MatchRequired 維護清單的完整性。
  26.         .TabIndex = 1                          '設定在表單中的定位順序。
  27.     End With
  28. End Sub
  29. Private Sub CommandButton2_Click()
  30.     Unload Me
  31. End Sub
複製代碼

TOP

回復 5# man65boy
  1. Dim sht1 As Worksheet, sht2 As Worksheet
  2. Private Sub CommandButton1_Click()
  3.     Dim ranme As Variant
  4.     '輸入員工編號後用 Match 函數來取得員工姓名
  5.     ranme = Application.Match(TextBox3.Text, sht2.Range("D:D"), 0)
  6.     '如果查無員工編號,要求重新輸入員工編號
  7.     With sht1
  8.         If IsError(ranme) Then '如找到 ranme->傳回數字 ,否則 ranme ->錯誤值 "# N/A"
  9.             MsgBox "查無員工編號,請重新輸入"
  10.             UserForm1.TextBox3.Text = ""
  11.             UserForm1.TextBox3.SetFocus
  12.             .Range("B7") = ""
  13.         Else
  14.             .Range("B7") = sht2.Range("E" & ranme)
  15.         End If
  16.     End With
  17. End Sub
  18. Private Sub CommandButton2_Click()
  19.     Unload Me
  20. End Sub
  21. Private Sub UserForm_Initialize()
  22.     Set sht1 = Sheets("列印")
  23.     Set sht2 = Sheets("資料表")
  24. End Sub
複製代碼

TOP

        靜思自在 : 【時間無法遮擋】怕時間消逝,花了許多心血,想盡各式方法要遮擋時間,結果是:浪費了更多時間,且一無所成!
返回列表 上一主題