Vba 将数据返回到单元格区域
我使用的以下代码允许从工作表上的单元格范围中获取数据:Vba 将数据返回到单元格区域,vba,excel,listbox,Vba,Excel,Listbox,我使用的以下代码允许从工作表上的单元格范围中获取数据: 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 这个很好用。现在我的问题是,如果用户单击Updat
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
按钮,如何将它们返回到工作表。我已经找到了一些答案,但我看不到任何变化,或者似乎不起作用。下面是我编辑的代码:
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
这只有在我第一次运行代码时才起作用,但是如果我重新运行它,它就不再起作用了。有什么帮助吗 我不知道如果运行两次,为什么代码会返回不同的结果 下面是一种更简单的方法来做你想做的事情:
Private Sub btnUpdate_Click()
Worksheets("Main").Range("C12").Resize(listTo.ListCount).Value = listTo.List
End Sub
我不知道如果你运行两次,为什么你的代码会返回不同的结果 下面是一种更简单的方法来做你想做的事情:
Private Sub btnUpdate_Click()
Worksheets("Main").Range("C12").Resize(listTo.ListCount).Value = listTo.List
End Sub
最好是发布代码中不起作用的部分,而不是发布代码中起作用的部分。起作用的部分是有用的,但不起作用的部分才是我们真正需要的。仅仅知道你是从别人的答案开始的,这不允许我们看到你是否针对你的情况正确地实施了它。@YowE3K更新了我的问题。谢谢:)最好是发布代码中不起作用的部分,而不是发布代码中起作用的部分。起作用的部分是有用的,但不起作用的部分才是我们真正需要的。仅仅知道你是从别人的答案开始的,这不允许我们看到你是否针对你的情况正确地实施了它。@YowE3K更新了我的问题。谢谢:)