我使用的代码允许来自工作表上单元格范围的数据:
Private Sub UserForm_Initialize()
listTo.Clear
listCC.Clear
listTo.List = Worksheets("Main").Range("C12:C26").Value
listCC.List = Worksheets("Main").Range("D12:D26").Value
End Sub
这很好用。那么我现在的问题是如果用户点击Update
按钮,如何将它们返回到工作表。我找到了一些答案here,但我看不到任何变化或似乎无法正常工作。以下是我编辑的代码:
Private Sub btnUpdate_Click()
Dim dataItems As Range
With Me.listTo
Dim Data()
ReDim Data(1 To .ListCount, 1 To 1)
Data = .List
With Worksheets("Main")
Set dataItems = .Range("C12", .Range("C12").Offset(Me.listTo.ListCount - 1, 0))
End With
With dataItems
.Value = Data
End With
End With
End Sub
这只有在我第一次运行代码时才有效,但是如果我重新运行代码,它就不再起作用了。有帮助吗?
答案 0 :(得分:2)
我不知道为什么你的代码在运行两次后会返回不同的结果。
这是一种更简单的方法来做你想做的事情:
Private Sub btnUpdate_Click()
Worksheets("Main").Range("C12").Resize(listTo.ListCount).Value = listTo.List
End Sub