excel 将列表框数据导出到工作表区域

gopyfrb3  于 2023-01-14  发布在  其他
关注(0)|答案(2)|浏览(157)

我在一个Excel VBA用户表单上工作。我有一个带有列表框的用户表单。该列表框有7列,通过添加新项目完成行。该部分工作得很好。
然后,我有一个命令按钮,它将把信息发送到工作表中的特定单元格区域。

Private Sub CommandButton1_Click()

Range("A18:G36").Value = ListBox2.List

End Sub

问题是,如果列表框中只有一行,则单元格区域中的所有行都将填充相同的项目。如果有两个不同的行,其中包含两个不同的项目,则其余单元格将显示以下内容:#无。
有没有一个VBA代码,我可以使用,只出口的列表框行是填补和空单元格不显示“#N/U”。

6yjfywim

6yjfywim1#

您必须使用ListCount来检索要插入的行数:

Private Sub CommandButton1_Click()
dim cntEntries as long
cntEntries = ListBox2.ListCount

Range("A18:G18").Resize(cntEntries).value = ListBox2.list

End Sub
uujelgoq

uujelgoq2#

列表框数据到范围

Private Sub CommandButton1_Click()
    
    Dim rg As Range, rCount As Long
    
    With ListBox2
        rCount = .ListCount
        Set rg = Range("A18").Resize(rCount, .ColumnCount) ' reference
        rg.Value = .List ' write
    End With
    
    With rg ' clear below:
        .Resize(.Worksheet.Rows.Count - .Row - rCount + 1).Offset(rCount).Clear
    End With

End Sub

相关问题