现有一个form,其中有3个listbox,数据如下:
list1  list2  list3
1      2      3
2      3      1
3      1      2
请问,如何将这3个listbox中的数据保存到一个execl表的3列中?

解决方案 »

  1.   

    这个问题已经回复过好多次了
    自已把下面的代码改一下就行了Private Sub Command3_Click()
    On Error GoTo err1
        Dim i As Long
        Dim j As Long
        Dim objExl As Excel.Application   '声明对象变量
        Me.MousePointer = 11            '改变鼠标样式
        Set objExl = New Excel.Application '初始化对象变量
        objExl.SheetsInNewWorkbook = 1  '将新建的工作薄数量设为1
        objExl.Workbooks.Add          '增加一个工作薄
        objExl.Sheets(objExl.Sheets.Count).Name = "book1"  '修改工作薄名称 
        objExl.Sheets.Add , objExl.Sheets("book1") ‘增加第二个工作薄在第一个之后
        objExl.Sheets(objExl.Sheets.Count).Name = "book2" 
        objExl.Sheets.Add , objExl.Sheets("book2") ‘增加第三个工作薄在第二个之后
    objExl.Sheets(objExl.Sheets.Count).Name = "book3" objExl.Sheets("book1").Select     '选中工作薄<book1>
        For i = 1 To 50                   '循环写入数据
            For j = 1 To 5
    If i = 1 Then
        objExl.Selection.NumberFormatLocal = "@"  '设置格式为文本 
    objExl.Cells(i, j) = " E " & i & j
                Else
                   objExl.Cells(i, j) = i & j
                End If
            Next
        Next    objExl.Rows("1:1").Select         '选中第一行
        objExl.Selection.Font.Bold = True   '设为粗体
        objExl.Selection.Font.Size = 24     '设置字体大小
        objExl.Cells.EntireColumn.AutoFit  '自动调整列宽 
    objExl.ActiveWindow.SplitRow = 1  '拆分第一行
        objExl.ActiveWindow. SplitColumn = 0  '拆分列
    objExl.ActiveWindow.FreezePanes = True   '固定拆分    objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"  '设置打印固定行
    objExl.ActiveSheet.PageSetup.PrintTitleColumns = ""    '打印标题    objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _
                       Format(Now, "yyyy年mm月dd日 hh:MM:ss")
        objExl.ActiveWindow.View = xlPageBreakPreview    '设置显示方式
        objExl.ActiveWindow.Zoom = 100                 '设置显示大小
        '给工作表加密码
    objExl.ActiveSheet.Protect "123", DrawingObjects:=True,  _
    Contents:=True, Scenarios:=True
        objExl.Application.IgnoreRemoteRequests = False
        objExl.Visible = True                       '使EXCEL可见
        objExl.Application.WindowState = xlMaximized 'EXCEL的显示方式为最大化
        objExl.ActiveWindow.WindowState = xlMaximized '工作薄显示方式为最大化
        objExl.SheetsInNewWorkbook = 3           '将默认新工作薄数量改回3个 
        Set objExl = Nothing    '清除对象
        Me.MousePointer = 0   '修改鼠标
    Exit Sub
    err1:
    objExl.SheetsInNewWorkbook = 3
    objExl.DisplayAlerts = False  '关闭时不提示保存
    objExl.Quit                '关闭EXCEL
    objExl.DisplayAlerts = True   '关闭时提示保存
    Set objExl = Nothing
    Me.MousePointer = 0
    End Sub
      

  2.   

    Private Sub Command1_Click()
    '引用 micosoft exxel 11.0 object library
    Dim i As Integer, j As Integer
    Dim newxls As Excel.Application
    Dim newbook As Excel.Workbook
    Dim newsheet As Excel.Worksheet
    Set newxls = CreateObject("Excel.Application") '创建excel应用程序,打开excel2000
    newxls.Visible = True
    Set newbook = newxls.Workbooks.Add   '创建工作簿
    Set newsheet = newbook.Worksheets(1) '创建工作表
    'If Not Data1.Recordset.EOF Then Data1.Recordset.MoveFirst
    '1      2      3
    '2      3      1
    '3      1      2
    'list1  list2  list3
    For j = 1 To List1.Columns
             newsheet.Cells(1, j) = List1.List(j)
    nexitFor j = 1 To List2.Columns
             newsheet.Cells(2, j) = List2.List(j)
    nexit
    For j = 1 To List3.Columns
             newsheet.Cells(3, j) = List3.List(j)
    nexit
    newxls.SaveWorkspace "c:\aa.xls"End Sub
      

  3.   

    http://community.csdn.net/Expert/topic/4222/4222365.xml?temp=.6302606
    帮忙看看这个,谢谢
      

  4.   

    hot1kang1(许仙) ( ) 信誉:100 
    你的方法怎么在execl中显示不出来数据啊?
      

  5.   

    xayzmb(行者) 说的简直是太细致了,连字体加粗都写出来了