我正在创建一个用于案例审核的用户窗体,该窗体随机选择一个案例编号,将其显示在表单上的标签中,并通过Vlookup在同一表单上的文本框中显示相邻的单元格数据(该部分工作正常)。我添加了两个按钮,使用户可以为案例#涂上颜色,无论是好是坏。如何找到随机选择的案例编号所在的单元格,然后根据选择的是好还是坏按钮来覆盖该单元格?
Private Sub btnRandom_Click()
Dim x As Variant
lblText.Caption = Application.WorksheetFunction.Index(Sheet1.range("A2:A502"), WorksheetFunction.RandBetween(1, 501))
x = lblText.Caption
txtQuestion.Text = Application.WorksheetFunction.VLookup(x, Sheet1.range("A1:M502"), 8, False)
txtSolution.Text = Application.WorksheetFunction.VLookup(x, Sheet1.range("A1:M502"), 12, False)
End Sub
直到我点击标记为random的按钮,以上代码才会运行。
答案 0 :(得分:0)
Find
工作时的方法。
例如,这会将单元格涂成红色。
Sheet1.Range("A2:A502").Find(x,lookat:=xlWhole).Interior.Color = RGB(255,0,0)
请注意,最好的方法是在直接使用实例之前,先测试实例是否真正找到。但是由于您已经知道实例将在您之前的查找中找到,所以我已经跳过了这一部分。
答案 1 :(得分:0)
对于所有好奇的人来说,这就是对我有用的东西:
Private Sub btnRandom_Click()
Dim x As Variant
lblText.Caption = Application.WorksheetFunction.Index(Sheet1.range("A2:A502"), WorksheetFunction.RandBetween(1, 501))
x = lblText.Caption
txtQuestion.Text = Application.WorksheetFunction.VLookup(x, Sheet1.range("A1:M502"), 8, False)
txtSolution.Text = Application.WorksheetFunction.VLookup(x, Sheet1.range("A1:M502"), 12, False)
Sheet1.range("A2:A502").Find(x, lookat:=xlWhole).Select
End Sub
Private Sub btnBad_Click()
ActiveCell.Interior.ColorIndex = 3
End Sub