Excel 如何在清理其他Userform控件时不清理特定的文本框?
在我的Userform上,我有一个文本框(比如Txt1)。我使用它作为我的列表框(Lst1)的搜索栏 当我将任何表达式写入Txt1时,我会在Lst1中找到我要查找的内容。 这两个(Txt1和Lst1)集成到我的库存计划中 当我用Txt1搜索任何产品时,我可以从Lst1中选择产品名称 当我从Lst1中选择产品时,我将数量写入Txt2并按enter键。 它在程序的后面进行必要的处理 当我按enter键时,Txt1会自动清洗。Excel 如何在清理其他Userform控件时不清理特定的文本框?,excel,vba,textbox,Excel,Vba,Textbox,在我的Userform上,我有一个文本框(比如Txt1)。我使用它作为我的列表框(Lst1)的搜索栏 当我将任何表达式写入Txt1时,我会在Lst1中找到我要查找的内容。 这两个(Txt1和Lst1)集成到我的库存计划中 当我用Txt1搜索任何产品时,我可以从Lst1中选择产品名称 当我从Lst1中选择产品时,我将数量写入Txt2并按enter键。 它在程序的后面进行必要的处理 当我按enter键时,Txt1会自动清洗。 我需要将新产品名称重新写入Txt1 我想要: 不清洁Txt1 Txt1代码
我需要将新产品名称重新写入Txt1 我想要:
不清洁Txt1 Txt1代码:
Private Sub TextBox17_Change()
Dim i As Long
Me.TextBox17.Text = StrConv(Me.TextBox17.Text, 1)
Me.ListBox4.Clear
For i = 2 To Application.WorksheetFunction.CountA(Sayfa2.Range("C:C"))
a = Len(Me.TextBox17.Text)
If Left(Sayfa2.Cells(i, 3).Value, a) = Left(Me.TextBox17.Text, a) Then
Me.ListBox4.AddItem Sayfa2.Cells(i, 3).Value
Me.ListBox4.List(ListBox4.ListCount - 1, 3) = Sayfa2.Cells(i, 10).Value
End If
Next i
End Sub
Private Sub ListBox4_Click()
Dim i As Long, lastrow As Long
lastrow = Sheets("CDepo").Range("C" & Rows.Count).End(xlUp).Row
For i = 2 To lastrow
If CStr(Sheets("CDepo").Cells(i, "C").Value) = (Me.ListBox4.Value) Then
Me.TextBox2 = Sheets("CDepo").Cells(i, "A").Value
Me.TextBox11 = Sheets("CDepo").Cells(i, "H").Value
Me.TextBox9 = Sheets("CDepo").Cells(i, "C").Value
Me.ComboBox2 = Sheets("CDepo").Cells(i, "B").Value
Me.TextBox6 = Sheets("CDepo").Cells(i, "I").Value
Me.TextBox13 = Sheets("CDepo").Cells(i, "J").Value
Me.TextBox15 = Sheets("CDepo").Cells(i, "P").Value
Me.TextBox8 = Sheets("CDepo").Cells(i, "D").Value
Me.TextBox16 = Sheets("CDepo").Cells(i, "Q").Value
End If
Next
End Sub
Private Sub CommandButton6_Click()
If UserForm11.ComboBox4 = "TesellumFisi" Then
If TextBox2.Text <> "" Then
Son_Dolu_Satir = Sheets("TesellumFisi").Range("A65536").End(xlUp).Row
For i = 23 To Son_Dolu_Satir
If Sheets("TesellumFisi").Cells(i, 2).Value = TextBox2.Text Then
Exit Sub
End If
Next i
Bos_Satir = Son_Dolu_Satir + 1
Sheets("TesellumFisi").Range("A" & Bos_Satir).Value = Application.WorksheetFunction.Max(Sheets("TesellumFisi").Range("A:A")) + 1
Sheets("TesellumFisi").Range("B" & Bos_Satir).Value = TextBox2.Text
Sheets("TesellumFisi").Range("C" & Bos_Satir).Value = TextBox13.Text
Sheets("TesellumFisi").Range("E" & Bos_Satir).Value = TextBox9.Text
Sheets("TesellumFisi").Range("I" & Bos_Satir).Value = TextBox4.Text
Sheets("TesellumFisi").Range("J" & Bos_Satir).Value = TextBox6.Text
Sheets("TesellumFisi").Range("O13").Value = UserForm11.ComboBox1.Text
Sheets("TesellumFisi").Range("H" & Bos_Satir).Value = UserForm11.ComboBox2.Text
Sheets("TesellumFisi").Range("G" & Bos_Satir).Value = TextBox8.Text
End If
End If
Dim TC As Control
For Each TC In Controls
If TypeName(TC) = "TextBox" Or TypeName(TC) = "ComboBox" Then
TC.Value = ""
End If
Next TC
Set TC = Nothing
'--
TextBox2.SetFocus
TextBox2.SelStart = 1
TextBox2.SelLength = Len(TextBox2.Text)
End Sub
Lst1代码:
Private Sub TextBox17_Change()
Dim i As Long
Me.TextBox17.Text = StrConv(Me.TextBox17.Text, 1)
Me.ListBox4.Clear
For i = 2 To Application.WorksheetFunction.CountA(Sayfa2.Range("C:C"))
a = Len(Me.TextBox17.Text)
If Left(Sayfa2.Cells(i, 3).Value, a) = Left(Me.TextBox17.Text, a) Then
Me.ListBox4.AddItem Sayfa2.Cells(i, 3).Value
Me.ListBox4.List(ListBox4.ListCount - 1, 3) = Sayfa2.Cells(i, 10).Value
End If
Next i
End Sub
Private Sub ListBox4_Click()
Dim i As Long, lastrow As Long
lastrow = Sheets("CDepo").Range("C" & Rows.Count).End(xlUp).Row
For i = 2 To lastrow
If CStr(Sheets("CDepo").Cells(i, "C").Value) = (Me.ListBox4.Value) Then
Me.TextBox2 = Sheets("CDepo").Cells(i, "A").Value
Me.TextBox11 = Sheets("CDepo").Cells(i, "H").Value
Me.TextBox9 = Sheets("CDepo").Cells(i, "C").Value
Me.ComboBox2 = Sheets("CDepo").Cells(i, "B").Value
Me.TextBox6 = Sheets("CDepo").Cells(i, "I").Value
Me.TextBox13 = Sheets("CDepo").Cells(i, "J").Value
Me.TextBox15 = Sheets("CDepo").Cells(i, "P").Value
Me.TextBox8 = Sheets("CDepo").Cells(i, "D").Value
Me.TextBox16 = Sheets("CDepo").Cells(i, "Q").Value
End If
Next
End Sub
Private Sub CommandButton6_Click()
If UserForm11.ComboBox4 = "TesellumFisi" Then
If TextBox2.Text <> "" Then
Son_Dolu_Satir = Sheets("TesellumFisi").Range("A65536").End(xlUp).Row
For i = 23 To Son_Dolu_Satir
If Sheets("TesellumFisi").Cells(i, 2).Value = TextBox2.Text Then
Exit Sub
End If
Next i
Bos_Satir = Son_Dolu_Satir + 1
Sheets("TesellumFisi").Range("A" & Bos_Satir).Value = Application.WorksheetFunction.Max(Sheets("TesellumFisi").Range("A:A")) + 1
Sheets("TesellumFisi").Range("B" & Bos_Satir).Value = TextBox2.Text
Sheets("TesellumFisi").Range("C" & Bos_Satir).Value = TextBox13.Text
Sheets("TesellumFisi").Range("E" & Bos_Satir).Value = TextBox9.Text
Sheets("TesellumFisi").Range("I" & Bos_Satir).Value = TextBox4.Text
Sheets("TesellumFisi").Range("J" & Bos_Satir).Value = TextBox6.Text
Sheets("TesellumFisi").Range("O13").Value = UserForm11.ComboBox1.Text
Sheets("TesellumFisi").Range("H" & Bos_Satir).Value = UserForm11.ComboBox2.Text
Sheets("TesellumFisi").Range("G" & Bos_Satir).Value = TextBox8.Text
End If
End If
Dim TC As Control
For Each TC In Controls
If TypeName(TC) = "TextBox" Or TypeName(TC) = "ComboBox" Then
TC.Value = ""
End If
Next TC
Set TC = Nothing
'--
TextBox2.SetFocus
TextBox2.SelStart = 1
TextBox2.SelLength = Len(TextBox2.Text)
End Sub
输入命令按钮:
Private Sub TextBox17_Change()
Dim i As Long
Me.TextBox17.Text = StrConv(Me.TextBox17.Text, 1)
Me.ListBox4.Clear
For i = 2 To Application.WorksheetFunction.CountA(Sayfa2.Range("C:C"))
a = Len(Me.TextBox17.Text)
If Left(Sayfa2.Cells(i, 3).Value, a) = Left(Me.TextBox17.Text, a) Then
Me.ListBox4.AddItem Sayfa2.Cells(i, 3).Value
Me.ListBox4.List(ListBox4.ListCount - 1, 3) = Sayfa2.Cells(i, 10).Value
End If
Next i
End Sub
Private Sub ListBox4_Click()
Dim i As Long, lastrow As Long
lastrow = Sheets("CDepo").Range("C" & Rows.Count).End(xlUp).Row
For i = 2 To lastrow
If CStr(Sheets("CDepo").Cells(i, "C").Value) = (Me.ListBox4.Value) Then
Me.TextBox2 = Sheets("CDepo").Cells(i, "A").Value
Me.TextBox11 = Sheets("CDepo").Cells(i, "H").Value
Me.TextBox9 = Sheets("CDepo").Cells(i, "C").Value
Me.ComboBox2 = Sheets("CDepo").Cells(i, "B").Value
Me.TextBox6 = Sheets("CDepo").Cells(i, "I").Value
Me.TextBox13 = Sheets("CDepo").Cells(i, "J").Value
Me.TextBox15 = Sheets("CDepo").Cells(i, "P").Value
Me.TextBox8 = Sheets("CDepo").Cells(i, "D").Value
Me.TextBox16 = Sheets("CDepo").Cells(i, "Q").Value
End If
Next
End Sub
Private Sub CommandButton6_Click()
If UserForm11.ComboBox4 = "TesellumFisi" Then
If TextBox2.Text <> "" Then
Son_Dolu_Satir = Sheets("TesellumFisi").Range("A65536").End(xlUp).Row
For i = 23 To Son_Dolu_Satir
If Sheets("TesellumFisi").Cells(i, 2).Value = TextBox2.Text Then
Exit Sub
End If
Next i
Bos_Satir = Son_Dolu_Satir + 1
Sheets("TesellumFisi").Range("A" & Bos_Satir).Value = Application.WorksheetFunction.Max(Sheets("TesellumFisi").Range("A:A")) + 1
Sheets("TesellumFisi").Range("B" & Bos_Satir).Value = TextBox2.Text
Sheets("TesellumFisi").Range("C" & Bos_Satir).Value = TextBox13.Text
Sheets("TesellumFisi").Range("E" & Bos_Satir).Value = TextBox9.Text
Sheets("TesellumFisi").Range("I" & Bos_Satir).Value = TextBox4.Text
Sheets("TesellumFisi").Range("J" & Bos_Satir).Value = TextBox6.Text
Sheets("TesellumFisi").Range("O13").Value = UserForm11.ComboBox1.Text
Sheets("TesellumFisi").Range("H" & Bos_Satir).Value = UserForm11.ComboBox2.Text
Sheets("TesellumFisi").Range("G" & Bos_Satir).Value = TextBox8.Text
End If
End If
Dim TC As Control
For Each TC In Controls
If TypeName(TC) = "TextBox" Or TypeName(TC) = "ComboBox" Then
TC.Value = ""
End If
Next TC
Set TC = Nothing
'--
TextBox2.SetFocus
TextBox2.SelStart = 1
TextBox2.SelLength = Len(TextBox2.Text)
End Sub
Private子命令按钮6_单击()
如果UserForm11.ComboBox4=“TesellumFisi”,则
如果是TextBox2.Text“”,则
Son_Dolu_Satir=板材(“TesellumFisi”)。范围(“A65536”)。结束(xlUp)。行
对于Son_Dolu_Satir,i=23
如果表(“TesellumFisi”).Cells(i,2).Value=TextBox2.Text,则
出口接头
如果结束
接下来我
Bos_Satir=Son_Dolu_Satir+1
图纸(“TesellumFisi”).Range(“A”和Bos_-Satir).Value=Application.WorksheetFunction.Max(图纸(“TesellumFisi”).Range(“A:A”)+1
工作表(“TesellumFisi”)。范围(“B”和Bos_Satir)。值=TextBox2.Text
工作表(“TesellumFisi”)。范围(“C”和Bos_Satir)。值=文本框13.Text
工作表(“TesellumFisi”)。范围(“E”和Bos_Satir)。值=文本框9.Text
工作表(“TesellumFisi”)。范围(“I”和Bos_Satir)。值=TextBox4.Text
工作表(“TesellumFisi”)。范围(“J”和Bos_Satir)。值=文本框6.Text
工作表(“TesellumFisi”).Range(“O13”).Value=UserForm11.ComboBox1.Text
工作表(“TesellumFisi”)。范围(“H”和Bos_-Satir)。值=UserForm11.ComboBox2.Text
表(“TesellumFisi”)。范围(“G”和Bos_Satir)。值=文本框8.Text
如果结束
如果结束
Dim TC作为控制
对于控件中的每个TC
如果TypeName(TC)=“TextBox”或TypeName(TC)=“ComboBox”,则
TC.Value=“”
如果结束
下一个TC
设置TC=无
'--
TextBox2.SetFocus
TextBox2.SelStart=1
TextBox2.SelLength=Len(TextBox2.Text)
端接头
跳过文本1,但清除控件循环中需要条件的其余文本框
Dim TC As Control
For Each TC In Controls
If TypeName(TC) = "TextBox" Or TypeName(TC) = "ComboBox" Then
If Not TC.name = "TextBox1" then 'Assuming this is the right name
TC.Value = ""
end if
End If
Next TC
Set TC = Nothing