列表框到 Excel 工作表

问题描述 投票:0回答:1

我这里有一个按人名过滤的列表框。当从组合框中选择名称时,列表框将正确填充。我想要实现的是,当显示列表框时,它应该将时间条目放在零中(见图 3)。

图1(选择名称1)

图2(选择名称2)

在 Excel 工作表中手动编码:

Implementation                 ||  Arizona || New York  || Louisiana|| Michigan
Total Hours Worked (hh:mm:ss)  ||     0    ||    0      ||    0     ||    0
Average Hours (hh:mm:ss)       ||     0    ||    0      ||    0     ||    0

图3

这是我想要的“所选名称 1”的输出:

这是我对选择名称 2 的期望结果:

这是我选择名称 1 时得到的结果。

这是我选择名称 2 时得到的结果。

这是我将列表框保存到工作表的代码:

        Dim sh As Worksheet

        Set sh = ThisWorkbook.Sheets("Sheet4")

        Dim n As Long



        For n = 1 To Me.ListBox2.ListCount - 1

        sh.Range("A" & Rows.Count).End(xlUp).ClearContents

        sh.Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = Me.ListBox2.List(n, 0)

        sh.Range("A" & Rows.Count).End(xlUp).Offset(0, 1) = Me.ListBox2.List(n, 1)

        sh.Range("A" & Rows.Count).End(xlUp).Offset(0, 2) = Me.ListBox2.List(n, 2)

       

        Next n

我这里有一个图表就绪代码,但当用于将列表框条目保存到 Excel 的代码已经修复时,我只会使用它。

            'Dim CurrentFileName As String

            'CurrentFileName = ThisWorkbook.Path & "\current.gif"

              

            'Dim CurrentChart As Chart

            'Set CurrentChart = ThisWorkbook.Sheets("Sheet4").ChartObjects("Chart 1").Chart

            'CurrentChart.Export Filename:=CurrentFileName, FilterName:="GIF"

              

            'UserForm3.Image1.Picture = LoadPicture(CurrentFileName)

请告诉我哪里错了。 TY

excel vba listbox
1个回答
0
投票

请尝试一下。

Private Sub CommandButton1_Click()
    Dim sh As Worksheet, c As Range
    Dim n As Long
    Set sh = ThisWorkbook.Sheets("Sheet4")
    With Me.ListBox2
        For n = 1 To .ListCount - 1
            Set c = sh.Range("1:1").Find(.List(n, 0), , xlValues, xlWhole)
            If Not c Is Nothing Then
                c.Offset(1, 0).Value = .List(n, 1)
                c.Offset(2, 0).Value = .List(n, 2)
            End If
        Next n
    End With
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.