从复制列表框数据中排序我的间距

时间:2016-12-16 10:17:51

标签: ms-access access-vba ms-access-2010

我使用以下代码从列表框中复制数据:

 Dim sData As String
Dim X As Integer

'Has the user ticked the use col heads tick box?
    If Me.ChkColHeads = True Then
        sData = sData & "Account Number" & vbTab & "Advisor Name" & vbTab & vbTab & "Team" & vbTab & vbTab & vbTab & vbTab & vbTab & "Days Lost" & vbTab & vbTab & vbCrLf
    End If

'x would be set to row 1 if using column heading in list
    For X = 0 To Me.List31.ListCount
        If Me.List31.Selected(X) = True Then
            sData = sData & Me.List31.Column(0, X) & vbTab & vbTab & Me.List31.Column(1, X) & vbTab & vbTab & Me.List31.Column(2, X) & vbTab & vbTab & Me.List31.Column(3, X) & vbTab & vbTab & Me.List31.Column(4, X) & vbCrLf
        End If
    Next
'Copy the data to the clipboard

    ClipBoard_SetData (sData)

'Let user know that the procedure has been completed

    MsgBox "Data copied to clipboard", vbInformation + vbOKOnly, "Copied"

还有一个模块可以将其复制到剪贴板。

我的问题是格式化 - 有些项目没有排列,因为它们应该如下所示:

 11111      Name1       Team1       0        
22222       Name1       Team2               
33333       Name1       Team3       5       
22222       Name1       Team1       6        
1121        Name1       Team3       0       
543     Name1       Team3            
7654        Name1                       Team4               
432543      Name1       Team7   0        
87654       Name1       Team1   3   

有些球队没有排队,也无法弄清楚原因。任何帮助表示赞赏

1 个答案:

答案 0 :(得分:2)

这是因为你使用vbTab。但是,如果您希望将日期粘贴到Excel中,则这是正确的。

如果您只想要文字和空格,请执行以下操作:

Left(Me.List31.Column(0, X) & Space(16), 20)

或类似的。根据自己的喜好调整16和20。