我有一個用戶窗體,其中有許多文本框和一個組合框,組合框的值來自Excel工作表。我想要的是如果單元格A,F,J,K爲空,我希望它們通過文本框手動輸入(如果可用),則應該在文本框中看到它們。請查找代碼。如果文本框爲空,則使用文本框爲單元格添加值
Private Sub cbox5_Change()
Dim r As Long
Dim wks As Worksheet
Set wks = Worksheets("Sheet2")
r = cbox5.ListIndex + 2
On Error Resume Next
If wks.Cells(r, "R") = "" Then
txt8.Value = wks.Cells(r, "N")
Else
txt8.Value = wks.Cells(r, "R")
End If
txt10.Value = wks.Cells(r, "F")
txt11.Value = wks.Cells(r, "A")
txt16.Value = wks.Cells(r, "J")
txt17.Value = wks.Cells(r, "K")
If cbox5.Value = "" Then
Sheets("Sheet2").Select
Range("A65536").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1).Select
Me.txt8.Value = ""
Me.txt9.Value = ""
Me.txt10.Value = ""
Me.txt11.Value = ""
Me.txt15.Value = ""
Me.txt16.Value = ""
End If
End Sub
此外,我無法看到組合框中的值,直到userform被關閉並再次打開。任何人都可以讓我知道什麼可能會導致這個問題?我需要在哪裏更改代碼?
我無法獲得此代碼工作:
If wks.Cells(r, "D") = "" Then
wks.Cells(r, "D").Value = Me.txt9.Value
Else
txt9.Value = wks.Cells(r, "D")
End If
根據您的ComboBox是'cbox5'的假設,我沒有看到這個代碼中的任何地方,你正在分配任何東西。因此,沒有理由改變組合框的值。 – FreeMan 2015-04-03 12:53:49
@Freeman這是cbox5的代碼, 'With Worksheets(「Sheet2」) cbox5.List = .Range(「I2:I150」&.Range(「I」&.Rows.Count).End(xlUp) .Row).Value End With' – user2842252 2015-04-03 12:58:17
在評論中閱讀代碼非常困難。編輯您的原始帖子,將它放在適當的位置,並詳細說明您可能收到的錯誤消息以及它們出現在哪一行。 – FreeMan 2015-04-03 13:00:11