Listbox Multiselect添加到下一个可用的空白单元格并从原始范围中删除

希望有人能帮助我? 我有2个列表框RndAdd1&RndEdit1。 我想要能够在RndAdd1中多select项目,然后单击Button1,它将循环选定的项目,并一次添加到新的范围(第一个空白单元格),直到添加所有项目。 然后删除从原始范围刚刚添加的所有值。 (基本上从星期一的A列到B列,星期二的C列到D,等等)

我也有另一个variables集(星期几)我有下面的代码,我要放在button上,然后嵌套一系列if / Elseif语句。

目前我遇到的麻烦是,它将第一个空白单元格中的第一个值,然后第二个值覆盖第一个值,等等,直到最后的值现在可以在新的范围内可见。 这可能是一个简单的修复,我只是没有以正确的方式思考它!

Dim lItem As Long For lItem = 0 To RndAdd1.ListCount - 1 If RndAdd1.Selected(lItem) = True Then If ComboBox1.Value = "Monday" Then Sheets("Setup").Range("B65536").End(xlUp)(0, 1) = RndAdd1.List(lItem) RndAdd1.Selected(lItem) = False End If End If Next RndAdd1.Clear RndEdit1.Clear ComboBox1.Clear ComboBox1.List = Array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday") ComboBox1.Value = "Monday" 'Tuesday Repeat Code but with different range to take round numbers from 

我在我的手机上,所以不能张贴代码购买也许这可以帮助你:

 Dim TargetRange as range Set TargetRange = thisworkbook.sheets(1).range("A1") 'or whereever you want it Do until IsEmpty(TargetRange.value) Set targetrange = targetrange.offset(1,0) Loop TargetRange.value = "your value here" 

这循环下来,直到find一个空的单元格

希望能帮助到你

替代

 Sheets("Setup").Range("B65536").End(xlUp)(0, 1) = RndAdd1.List(lItem) 

 With Sheets("Setup") .Range(.Rows.Count, "B").End(xlUp).Offset(1) = RndAdd1.List(lItem) End With