首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

VBA 运行时异常‘6’,溢出

2012-03-28 
VBA 运行时错误‘6’,溢出我从数据空中间查询了近7W的数据,向工作表里面插入数据,每行插入9个,循环插入,在插

VBA 运行时错误‘6’,溢出
我从数据空中间查询了近7W的数据,向工作表里面插入数据,每行插入9个,循环插入,在插入到工作表里面的时候,当插入到32767行的时候提示溢出,溢出的原因是列变成了10列
部分代码如下
Do While Not rs.EOF
  For j = 0 To UBound(head)
  mySheet.Cells(curRow, j + 1) = rs(head(j))
  Next j
  curRow = curRow + 1
  n = n + 1
  rs.MoveNext
  If n > 65535 Then
  i = i + 1
  If Not SheetExists(objname & i) Then
  Call CreateSheet(objname, i)
  End If
  Set mySheet = Worksheets(objname & i)
  mySheet.Cells.Clear
  Call showhead(mySheet, head)
  curRow = 2
  n = 0
  End If
  Loop
其中UBound的最大值是8,但是当curRow为32767的时候,提示溢出,看j编程了9
请教怎么解决问题。

[解决办法]

探讨

谢谢,知道是什么原因了,还想请教一下,怎么把某一列变成是日期格式,因为我从数据库里面取出来的数据是:2011/08/01 11:12:01这种形式的,需要怎么转化才能在工作表中正确的显示?

[解决办法]
举个日期字段的例子:
如果你的数据库中的数据存储就是date类型的,那么从recordset中获取的数据,要经过format格式赋值给单元格的value或者text属性,如下:
VB code
mySheet.Cells(curRow, j + 1).text = format(rs(head(j)),"YYYY-MM-DD HH:MM:SS") 

热点排行