Excel 搜索时在列之间切换
我在我的程序中使用此代码在excel工作表中搜索,但仅在A1列中搜索,如果我想添加命令或函数以帮助在A1、B1、C1…列之间进行更改,请提前感谢Excel 搜索时在列之间切换,excel,vba,Excel,Vba,我在我的程序中使用此代码在excel工作表中搜索,但仅在A1列中搜索,如果我想添加命令或函数以帮助在A1、B1、C1…列之间进行更改,请提前感谢 Private Sub cmdsearch_Click() blnNew = False txtChem1.Text = "" txtChem2.Text = "" txtChem3.Text = "" TRows = Worksheets("Data").Range("A1").CurrentR
Private Sub cmdsearch_Click()
blnNew = False
txtChem1.Text = ""
txtChem2.Text = ""
txtChem3.Text = ""
TRows = Worksheets("Data").Range("A1").CurrentRegion.Rows.Count
For i = 2 To TRows
If Val(Trim(ComboBox1.Text)) = Val(Trim(Worksheets("Data").Cells(i, 1).Value)) Then
txtChem1.Text = Worksheets("Data").Cells(i, 1).Value
txtChem2.Text = Worksheets("Data").Cells(i, 2).Value
txtChem3.Text = Worksheets("Data").Cells(i, 3).Value
Exit For
End If
Next i
If Trim(txtChem1.Text) = "" Then
cmdSave.Enabled = False
cmdDelete.Enabled = False
Frame2.Enabled = False
Else
cmdSave.Enabled = True
cmdDelete.Enabled = True
Frame2.Enabled = True
End If
End Sub
您好,您可以创建一个与此相同的函数:
Sub Search(CellParams)
blnNew = False
txtChem1.Text = ""
txtChem2.Text = ""
txtChem3.Text = ""
TRows = Worksheets("Data").Range(CellParams).CurrentRegion.Rows.Count
For i = 2 To TRows
If Val(Trim(ComboBox1.Text)) = Val(Trim(Worksheets("Data").Cells(i, 1).Value)) Then
txtChem1.Text = Worksheets("Data").Cells(i, 1).Value
txtChem2.Text = Worksheets("Data").Cells(i, 2).Value
txtChem3.Text = Worksheets("Data").Cells(i, 3).Value
Exit For
End If
Next i
If Trim(txtChem1.Text) = "" Then
cmdSave.Enabled = False
cmdDelete.Enabled = False
Frame2.Enabled = False
Else
cmdSave.Enabled = True
cmdDelete.Enabled = True
Frame2.Enabled = True
End If
End Sub
在按钮中,您可以使用:
Private Sub cmdsearch_Click()
Search("A1")
End Sub
否,这仍将仅在列A中搜索。将
Val(Trim(工作表(“数据”).Cells(i,1.Value))
更改为Val(Trim(工作表(“数据”).Cells(i,CellParams.Column.Value))
。嗨,谢谢你们的回答,我已经尝试了这两种方法,但都不起作用,如果我想在代码中添加一个允许我在列之间切换的命令,我该怎么做,提前谢谢你们。