gpt4 book ai didi

vba - 使用vba在excel中搜索不同的项目

转载 作者:行者123 更新时间:2023-12-03 03:47:06 26 4
gpt4 key购买 nike

我想找到当在“查找内容”列中输入“2”并点击搜索时,我的第一个项目列需要显示葡萄,而我的第二个项目列需要显示香蕉。

Userform Worksheet data

Private Sub CommandButton1_Click()
row_number = 0
Do
DoEvents
row_number = row_number + 1
item_in_review = Sheets("SHEET1").Range("A" & row_number)
If item_in_review = TextBox1.Text Then
TextBox2.Text = Sheets("SHEET1").Range("B" & row_number)
'want to know which code I want to use in textbox3.text to find next repetation
TextBox3.Text = Sheets("SHEET1").Range("B" & row_number)

End If
Loop Until item_in_review = ""
End Sub

最佳答案

这可以使用 Range.FindRange.FindNext 方法来完成。

Private Sub CommandButton1_Click()
Dim rSearch As Range
Dim rFound As Range

With Sheets("SHEET1")
Set rSearch = .Range("A1", .Range("A" & Rows.Count).End(xlUp))

Set rFound = rSearch.Find(What:=TextBox1.Text, LookIn:=xlValues)

If rFound Is Nothing Then
TextBox2.Value = ""
Else
TextBox2.Value = rFound.Offset(0, 1).Value

Set rFound = rSearch.FindNext(rFound)

If rFound Is Nothing Then
TextBox3.Value = ""
Else
TextBox3.Value = rFound.Offset(0, 1).Value
End If

End If
End With

End Sub

您的代码也可以通过一些重构来工作。

Private Sub CommandButton1_Click()
Dim row_number As Long
TextBox2.Value = ""
TextBox3.Value = ""

With Sheets("SHEET1")
Do
row_number = row_number + 1
item_in_review = .Range("A" & row_number)

If item_in_review = TextBox1.Text Then
If TextBox2.Text = "" Then
TextBox2.Text = .Range("B" & row_number)
Else
TextBox3.Text = .Range("B" & row_number)
Exit Do
End If

End If
Loop Until item_in_review = ""
End With
End Sub

关于vba - 使用vba在excel中搜索不同的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38474837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com