...
Dim H As Integer
Set ExcelApp = New Excel.Application
Set ExcelWst = ExcelApp.Workbooks.Add.Worksheets(1)
ExcelWst.Name = "运输单"
For I = 0 To Me.HJLB.ListCount - 1
For H = 1 To Me.HJLB.ColumnCount
'设置Excel第一列为文本格式
If H = 1 Then
ExcelWst.Cells(I + 1, H).NumberFormatLocal = "@"
'ExcelWst.Cells(I + 1, H).NumberFormatLocal = "G/通用格式"
End If
Me.HJLB.BoundColumn = H '这一句的问题
ExcelWst.Cells(I + 1, H).Value = Me.HJLB.ItemData(I)
Next
Next
...
不知道 Me.HJLB.BoundColumn = H 这一句的目的是什么,问题就出在这里。假如只是为了下一句的赋值做铺垫的话,可以这样:
'Me.HJLB.BoundColumn = H
'ExcelWst.Cells(I + 1, H).Value = Me.HJLB.ItemData(I)
ExcelWst.Cells(I + 1, H).Value = Me.HJLB.Column(H - 1, I)
即注释掉两句,用最后一句代替即可。