我正在尝试在vba中实现一个简单的程序,并出现以下问题:如何在excel中找到单元格数据并将所有相关数据放在文本框中? 例如: 如何在输入名称时加载文档,数据1,2,3和相应文本框中的平均值。
我尝试用这段代码来做,但我不太了解它的操作,它只适用于我,如果我搜索文件
Private Sub btnBuscar_Click()
On Error GoTo NE
buscarCedula = InputBox("Search:")
Sheets("Hoja1").Select
Range("A4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Find(What:=buscarCedula, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
txtCedula.Text = ActiveCell
ActiveCell.Offset(0, 1).Select
txtNombre.Text = ActiveCell
ActiveCell.Offset(0, 1).Select
txtNotaUno.Text = ActiveCell
ActiveCell.Offset(0, 1).Select
txtNotaDos.Text = ActiveCell
ActiveCell.Offset(0, 1).Select
txtNotaTres.Text = ActiveCell
ActiveCell.Offset(0, 1).Select
lblNotaDefinitiva.Caption = ActiveCell
可以指导我的任何想法或例子吗?
答案 0 :(得分:0)
我认为你要问的是Concatenate。您希望C4:F4中的所有数据都显示在A1:F1中。如果是这样,在A1:F1中键入以下公式(或复制+粘贴)。
=:连接(C4,D4,E4,F4)
如果你想要中间的空格,请执行以下操作:
=连接(C4,"",D4,"",E4,"",F4)
如果这是您要求的。
答案 1 :(得分:0)
我认为您需要收集数据然后将其放入文本框中。您应该明确地引用范围和单元格,而不是使用activecell和select隐式引用。这只是一个让你走上正确方向的片段。
Set sh = Sheets("Hoja1")
'this searches column a for your input and brings back the row number
rw = sh.Range("A:A").Find(What:=buscarCedula, LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:= _
xlNext).Row
'these set some variable equal to the columns in the found row so you can put them into a textbox.
doc = sh.Cells(1, rw).Value
Name = sh.Cells(2, rw).Value
Data1 = sh.Cells(3, rw).Value
Data2 = sh.Cells(4, rw).Value