После кода я использовал позволяет данные из диапазона ячеек на листе:Возвращение данных в диапазон ячеек
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
Это работает только если я запускаю код с первого раза, но если я снова запустить его, он больше не работает. Любая помощь?
Это могло бы быть лучше, если вы разместите часть вашего кода, который ** не ** работает, а не проводки часть ваш код, который ** работает **. Часть, которая работает, полезна, но часть, которая не работает, - это бит, который нам действительно нужен. Просто зная, что вы начали с чужого ответа, не позволяет нам понять, правильно ли вы применили его для своей ситуации. – YowE3K
@ YowE3K Обновлен мой вопрос. Благодаря :) – ramj