Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 8365|回复: 22

[已解决]循环语句总是出错!提示“运行时错误380”!请帮忙看看!

[复制链接]
发表于 2017-6-19 09:22 | 显示全部楼层 |阅读模式
本帖最后由 zwe45 于 2017-6-19 15:41 编辑

先谢谢诸位前辈
这个按钮主要作用是将llistview1控件中的数据导出到在选择的路径下生成的新工作簿中,就是不知道为何一运行就出错!

最佳答案
2017-6-21 10:43
列值超限,相关循环代码修改如下:

  1. For j = 1 To .ColumnHeaders.Count - 1
复制代码
1111111.png
2222222.png

求帮忙.rar

56.4 KB, 下载次数: 9

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2017-6-19 09:28 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2017-6-19 09:53 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2017-6-19 10:41 | 显示全部楼层
自己顶一下吧!
回复

使用道具 举报

发表于 2017-6-19 12:48 | 显示全部楼层
我本想看看  但我只有2003版本  以上的我打不开
回复

使用道具 举报

 楼主| 发表于 2017-6-19 15:27 | 显示全部楼层
zhxl0562 发表于 2017-6-19 12:48
我本想看看  但我只有2003版本  以上的我打不开

先谢谢您回复
下面就是源码
这个按钮的作用挺简单,就是将窗体中llistview1控件中的数据导出,选择的路径后生成的新工作簿中的sheet1,就是不知道为何一运行就出错!
下面是源代码,您过过目

Private Sub CommandButton9_Click()
'On Error Resume Next
Dim Filename As Variant
Dim wk As Workbook
Dim sh As Worksheet
Dim i As Long
Dim j As Long
Dim ofilename
Dim dpath As String
    'Application.ScreenUpdating = False
    Application.EnableCancelKey = xlDisabled '禁止Ctrl+Break该事件的发生
    Filename = Application.GetSaveAsFilename(FileFilter:="Excel 工作簿文件 (*.xls),*.xls", Title:="请输入文件名")
    If Filename <> False Then
       For Each wk In Workbooks
        If wk.Name = Right(Filename, Len(wk.Name)) Then MsgBox "对不起,请不要与正在打开的文件同名!", 6 + 64, "注意:": Exit Sub
       Next

       If Dir(Filename) <> "" Then
             If MsgBox("你所添加的文件已存在,是否更新?", 64 + vbYesNo, "提醒:") = vbNo Then Exit Sub
          End If
       Set wk = Workbooks.Add

        Application.DisplayAlerts = False
        wk.SaveAs Filename
        Set sh = wk.Sheets(1)
          With ListView1
                  For i = 1 To .ColumnHeaders.Count
                     sh.Cells(1, i) = .ColumnHeaders.Item(i) '将栏目头内容写入生成的工作表
                  Next i
                  For i = 1 To .ListItems.Count
                    sh.Cells(i + 1, 1) = .ListItems(i).Text '将控件内数据第一列写入工作表
                  Next i
                  For i = 1 To .ListItems.Count
                      For j = 1 To .ColumnHeaders.Count
                      sh.Cells(i + 1, j + 1) = .ListItems(i).SubItems(j) '将余下的控件数据写入工作表
                      Next j
                  Next i
           End With
         wk.Save
         wk.Close
         Set sh = Nothing: Set wk = Nothing
         Unload UserForm1
        End If
End Sub

回复

使用道具 举报

 楼主| 发表于 2017-6-19 15:52 | 显示全部楼层
zhxl0562 发表于 2017-6-19 12:48
我本想看看  但我只有2003版本  以上的我打不开

我给转存称excel97-2003格式了,您应该可以打开了。

2.rar

45.62 KB, 下载次数: 15

回复

使用道具 举报

 楼主| 发表于 2017-6-19 21:21 | 显示全部楼层
顶一下吧!
回复

使用道具 举报

 楼主| 发表于 2017-6-20 08:29 | 显示全部楼层
自己顶一下!!!
回复

使用道具 举报

发表于 2017-6-20 11:06 | 显示全部楼层

引用里面这个丢失
Microsoft Windows Common Controls 6.0 (SP6)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 19:00 , Processed in 0.361624 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表