Excel精英培训网

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

[已解决]运行时错误‘6’ 溢出

[复制链接]
发表于 2013-6-20 22:04 | 显示全部楼层 |阅读模式
运行时提示溢出,循环中哪里错了?
Dim ws As Worksheet       '定义工作表对象变量
Dim myTextBox As Variant       '定义保存文本框名称数组变量
Private Sub UserForm_Initialize()
     Dim i As Integer
      Set ws = Worksheets("单位信息")
      myTextBox = Array("单位名称", "法人代表", "成立日期", "联系电话", "传真", "电子邮箱", "邮政编码", "联系地址", "网址", "简介")
     For i = 0 To UBound(myTextBox)
          Me.Controls(myTextBox(i)).Value = ws.Range("B" & i + 2)
     Next i
      Me.成立日期.Value = Format(Me.成立日期.Value, "yyyy-mm-dd")
End Sub
最佳答案
2013-6-20 22:56
20120304 可不是日期的,就象原师傅,再像康师傅也不真的. 在excel不认可这种数字形式为日期格式的,它只是数字,不是日期.你可以这样改一下代码
Me.成立日期.Value = Format(Me.成立日期.Value, "0000-00-00")
发表于 2013-6-20 22:15 | 显示全部楼层
回复

使用道具 举报

发表于 2013-6-20 22:16 | 显示全部楼层
你按F8逐句运行一下,看在哪一句出错了
回复

使用道具 举报

 楼主| 发表于 2013-6-20 22:19 | 显示全部楼层
妞叫七七 发表于 2013-6-20 22:16
你按F8逐句运行一下,看在哪一句出错了

Me.成立日期.Value = Format(Me.成立日期.Value, "yyyy-mm-dd")
就在这一句提示溢出
回复

使用道具 举报

发表于 2013-6-20 22:21 | 显示全部楼层
本帖最后由 妞叫七七 于 2013-6-20 22:27 编辑

Me.成立日期.Value 有可能生成的值非日期格式.你可以用msgbox 或 debug.print显示一下,看看这个值是多少.
回复

使用道具 举报

 楼主| 发表于 2013-6-20 22:27 | 显示全部楼层
妞叫七七 发表于 2013-6-20 22:21
Me.成立日期.Value 有可能生成的值非日期格式.你可以用msgbox 或 debug.print显示一下,看看这个值是多少.

晕   这个还没整过 不知道要怎么弄。能详细一些吗?
回复

使用道具 举报

发表于 2013-6-20 22:29 | 显示全部楼层
Dim ws As Worksheet       '定义工作表对象变量
Dim myTextBox As Variant       '定义保存文本框名称数组变量
Private Sub UserForm_Initialize()
     Dim i As Integer
      Set ws = Worksheets("单位信息")
      myTextBox = Array("单位名称", "法人代表", "成立日期", "联系电话", "传真", "电子邮箱", "邮政编码", "联系地址", "网址", "简介")
     For i = 0 To UBound(myTextBox)
          Me.Controls(myTextBox(i)).Value = ws.Range("B" & i + 2)
     Next i
      Msgbox  Me.成立日期.Value
      Me.成立日期.Value = Format(Me.成立日期.Value, "yyyy-mm-dd")
End Sub
回复

使用道具 举报

 楼主| 发表于 2013-6-20 22:32 | 显示全部楼层
妞叫七七 发表于 2013-6-20 22:29
Dim ws As Worksheet       '定义工作表对象变量
Dim myTextBox As Variant       '定义保存文本框名称数组 ...

显示20120304 应该是没错的啊 怎么还是提示溢出
回复

使用道具 举报

发表于 2013-6-20 22:56 | 显示全部楼层    本楼为最佳答案   
20120304 可不是日期的,就象原师傅,再像康师傅也不真的. 在excel不认可这种数字形式为日期格式的,它只是数字,不是日期.你可以这样改一下代码
Me.成立日期.Value = Format(Me.成立日期.Value, "0000-00-00")
回复

使用道具 举报

发表于 2013-6-21 02:23 | 显示全部楼层
妞叫七七 发表于 2013-6-20 22:56
20120304 可不是日期的,就象原师傅,再像康师傅也不真的. 在excel不认可这种数字形式为日期格式的,它只是数字 ...

哈哈。这个比喻恰当。原师傅跟康师傅 。。。方便面都上来了{:1012:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 00:35 , Processed in 0.393184 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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