希望有人可以帮助我吗?我有2个列表框RndAdd1& RndEdit1。我希望能够在RndAdd1中多选项目,然后单击Button1,它会遍历所选项目,并且一次将它们添加到新范围(第一个空白单元格),直到添加所有项目。然后删除刚刚从原始范围添加的所有值。 (基本上从星期一的A列移到B列,到星期二的C列到D,等等)
我还有另一个变量集(一周的哪一天)我有以下代码,我将按钮放置,然后嵌套一系列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
答案 0 :(得分:1)
我在手机上,所以不能发布代码购买也许这可以帮到你:
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"
这会循环直到找到一个空单元格
希望有所帮助
答案 1 :(得分:0)
替代
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