搜索工作表上的数据并在文本框VBA中显示其内容

时间:2017-11-01 14:24:21

标签: excel vba

我正在尝试在vba中实现一个简单的程序,并出现以下问题:如何在excel中找到单元格数据并将所有相关数据放在文本框中? 例如: 如何在输入名称时加载文档,数据1,2,3和相应文本框中的平均值。

This is my sheet

我尝试用这段代码来做,但我不太了解它的操作,它只适用于我,如果我搜索文件

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

可以指导我的任何想法或例子吗?

2 个答案:

答案 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