【问题标题】:Vb.net - Search Excel file for valuesVb.net - 在 Excel 文件中搜索值
【发布时间】:2010-10-25 08:25:19
【问题描述】:

我有一个带有几个组合框的表单。第一个组合框根据 Excel 工作表中的每一行添加项目。

Public Sub FetchExcelValues(ByVal ControlType As String, ByVal control As Object, ByVal xlApp As Object, ByVal xlWorkBook As Object, ByVal xlWorkSheet As Object, ByVal column As String, ByVal row As Integer)

    Dim iTeller = row
    Dim tekst As String

    Do
        tekst = xlWorkSheet.Cells(iTeller, column).Value
        If tekst <> "" Then
            If ControlType = "Tekstboks" Then
                control.text = tekst
            End If
            If ControlType = "Combobox" Then
                control.Items.Add(tekst)
            End If
            If ControlType = "Label" Then
                control.text = tekst
            End If
        End If
        iTeller = iTeller + 1
    Loop Until tekst = ""

End Sub

这基本上读取指定列中的每个单元格,直到它碰到一个空白单元格。然后它获取每个单元格的值并将其作为项目添加到第一个组合框中。 现在,我希望代码接下来要做的是从此组合框中获取所选项目并在另一个工作表中查找匹配项。当它找到一个匹配的单元格时,它应该从与匹配项相同的行的 B 列中获取值。也可能有多个匹配项,因此每次找到匹配项时,我都想获取同一行的 B 列的值,并将其作为项目添加到第二个组合框中。

实现这一目标的最佳方法是什么?

【问题讨论】:

  • 您可能想要创建一个数组,然后再次执行上述循环;而不是添加到组合框,将其添加到数组中,最后将数组添加到组合框。

标签: vb.net compare worksheet excel


【解决方案1】:

听起来您可能只需要使用 Excel 中的 VLookup 或 HLookup 函数。它们的工作原理与您想要做的类似,无需编码,只需公式。

【讨论】:

  • 好的,所以我实际上可以在 vb.net 中使用 Excel 函数。这真的很酷,我认为这听起来更合乎逻辑:)
  • 嗯,这不是我的意思,但是您可以使用 VB.net 中的 Excel 函数,您只需将公式写入单元格,重新计算,然后读取细胞。但是,如果您可以通过 excel 公式和查找表来完成大部分工作,那可能是更简单的方法。关于您要构建哪种应用程序的背景知识还不够,无法知道哪种应用程序最好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-27
  • 1970-01-01
  • 2011-09-20
  • 1970-01-01
  • 2016-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多