我有一个我无法解决的问题......我的问题是:
我需要创建一个在4张内执行数据搜索的用户表单,这些数据在电子表格中每年只相同,但是当我尝试链接我的CommandBotton并在错误组合框中使用该变量时...
业务规则如下:
用户输入员工的注册会自动将数据提取到用户表单的字段,以防他想要更改工作表时使用组合框在这些工作表之间进行更改并执行相同的搜索但是在不同的工作表中。
Public plan As Worksheet
Sub ComboBox1_Change()
Sheets(ComboBox1.ListIndex + 1).Activate
End Sub
Sub UserForm_Initialize()
For Each plan In ActiveWorkbook.Worksheets
ComboBox1.AddItem plan.Name
Next plan
End Sub
Sub bnt1_Click()
With ThisWorkbook.Sheets(plan).Range("A:A")
Set c = .Find(textCp.Value, LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
c.Activate
textCp.Value = c.Value
textName.Value = c.Offset(0, 1).Value
textAd.Value = c.Offset(0, 2).Value
text60.Value = c.Offset(0, 65).Value
text60_20.Value = c.Offset(0, 66).Value
text100.Value = c.Offset(0, 67).Value
text100_20.Value = c.Offset(0, 68).Value
textAdc.Value = c.Offset(0, 69).Value
textAdcT.Value = c.Offset(0, 70).Value
End If
End With
End Sub
Sub btnSair_Click()
Unload FormPes
End Sub

答案 0 :(得分:0)
只需使用With plan.Range("A:A")
。
以下是我编写代码的方法。与With c.EntireRow
相反,c.Offset(0, 65).Value
会让您更容易识别您所指的列。
Sub bnt1_Click()
With plan.Range("A:A")
Set c = .Find(textCp.Value, LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
With c.EntireRow
textCp.Value = .Value
textName.Value = .Range("B1").Value
textAd.Value = .Range("C1").Value
text60.Value = .Range("BN1").Value
text60_20.Value = .Range("BO1").Value
text100.Value = .Range("BP1").Value
text100_20.Value = .Range("BQ1").Value
textAdc.Value = .Range("BR1").Value
textAdcT.Value = .Range("BS1").Value
End With
End If
End With
End Sub