Vba 如何在标签中动态显示多个值?

Vba 如何在标签中动态显示多个值?,vba,visual-studio,excel,Vba,Visual Studio,Excel,我正在尝试构建一个应用程序,在excel文件的特定列中搜索字符串,如果找到该字符串,则显示对应的列值,例如:假设我在excel文件列“N”中搜索字符串,如果找到我要搜索的字符串,则显示“E”同一行的第th列值。问题是,我的代码在第二种形式的多个标签中多次显示单个值 表格1 表格2 模块 如果我正确理解了您的问题,那么会多次调用事件处理程序Panel1\u Paint,以获取相同的excel单元格值。因此,只需检查带有特定名称的标签是否已经存在,即可解决此问题,例如: Private Sub Pa

我正在尝试构建一个应用程序,在excel文件的特定列中搜索字符串,如果找到该字符串,则显示对应的列值,例如:假设我在excel文件列“N”中搜索字符串,如果找到我要搜索的字符串,则显示“E”同一行的第th列值。问题是,我的代码在第二种形式的多个标签中多次显示单个值

表格1

表格2

模块


如果我正确理解了您的问题,那么会多次调用事件处理程序
Panel1\u Paint
,以获取相同的excel单元格值。因此,只需检查带有特定名称的标签是否已经存在,即可解决此问题,例如:

Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint

    For Each c As Control In Panel1.Controls
        If c Is Label Then
            If ((Label) c).Text = Foo Then
                ' Label alredy there, exit sub...
            End If
        End If
    Next

如果我正确理解了您的问题,那么会多次调用事件处理程序
Panel1\u Paint
,以获取相同的excel单元格值。因此,只需检查带有特定名称的标签是否已经存在,即可解决此问题,例如:

Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint

    For Each c As Control In Panel1.Controls
        If c Is Label Then
            If ((Label) c).Text = Foo Then
                ' Label alredy there, exit sub...
            End If
        End If
    Next

嗨,兄弟。。你能详细说明一下我的例子吗?问题是,我得到了相同文本的多个标签。重复几次后,文字就变了。嗨,兄弟。。你能详细说明一下我的例子吗?问题是,我得到了相同文本的多个标签。重复几次后,文本就变了。
Module Module1

    Public Foo As String

End Module
Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint

    For Each c As Control In Panel1.Controls
        If c Is Label Then
            If ((Label) c).Text = Foo Then
                ' Label alredy there, exit sub...
            End If
        End If
    Next