2014-10-29 33 views
0

我从列表框中将7列的数据转换为工作表格到选定的单元格中(A20:G29)。数据传输到下一个可用的细胞,而不是到A20:G29将列表框中的7列数据导出到工作表中的数据到选定的单元格中

这里是我的代码:

Private Sub cmdAdd_Click() 
    Dim addme As Range 
    Dim x As Integer 

    Set addme = Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) 
    For x = 0 To Me.lstSelector.ListCount - 1 
     If Me.lstSelector.Selected(x) Then 
      addme = Me.lstSelector.List(x) 
      addme.Offset(0, 1) = Me.lstSelector.List(x, 1) 
      addme.Offset(0, 2) = Me.lstSelector.List(x, 2) 
      addme.Offset(0, 3) = Me.lstSelector.List(x, 3) 
      addme.Offset(0, 4) = Me.lstSelector.List(x, 4) 
      addme.Offset(0, 5) = Me.lstSelector.List(x, 5) 
      addme.Offset(0, 6) = Me.lstSelector.List(x, 6) 
      Set addme = addme.Offset(1, 0) 
     End If 
    Next x 

    For x = 0 To Me.lstSelector.ListCount - 1 
    If Me.lstSelector.Selected(x) Then Me.lstSelector.Selected(x) = False 
    Next x 

End Sub 

Private Sub cmdclose_Click() 
Unload Me 
End Sub 

Private Sub lstSelector_Click() 

End Sub 

我需要建议

+0

是。你为什么这么认为? – 2014-10-29 20:15:18

+0

非常感谢大卫。在行动中,你是炸弹!你让我今天一整天都感觉很好。它工作100%。 – user3724458 2014-10-29 20:45:35

+0

干杯。如果我的答案已解决问题,请考虑[将其标记为'接受'](http://stackoverflow.com/help/someone-answers)。 :) – 2014-10-29 20:54:42

回答

0

该行建立了其中数据的起始范围/细胞会输出:

Set addme = Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) 

这是一个相对简单但常用的方法来查找范围内的最后一个单元格。所以,这是有道理的,你的过程将总是“转移到下一个可用的细胞”,而不是在其他特定的细胞范围内。

试试这个:

Set addme = Sheet2.Range("A20") 
相关问题