Office中国论坛/Access中国论坛

标题: 程序运行提示“溢出”,原因是什么? [打印本页]

作者: yfg323    时间: 2006-12-11 22:49
标题: 程序运行提示“溢出”,原因是什么?
Private Sub Worksheet_Activate()
Dim y As Integer   '列值
Dim x As Integer   '表1的行值
Dim z As Integer   '表2的行值
z = 2
For x = 2 To Sheet1.Rows.Count     ‘程序运行到这里提示“溢出”。
    If (Sheet1.Cells(x, 1).Value <> "") Then
      For y = 1 To 7
        Cells(z - 1, y).Value = Sheet1.Cells(1, y)
        Cells(z, y).Value = Sheet1.Cells(x, y)
      Next y
      z = z + 2
    Else: GoTo ENDSUB
      
    End If
   
Next x
ENDSUB:
End Sub

以下是sheet1的数据

<TABLE  cellSpacing=0 cellPadding=0 width=432 border=0 x:str>

<COLGROUP>

<COL style="WIDTH: 54pt" span=6 width=72>





姓名

工资

奖金

住房补助

保险

工伤风险金



肖云路

1800

400

128

54

100



郑一木

2300

300

154

67

100



龙谆

2100

350

143

53

100



周兵

1950

250

138

55

200



赵学诚

2150

300

139

58

100



王星星

2200

450

126

60

150



邹令

2100

200

124

52

100



马驰

1750

350

141

62

150

<TR  height=19>

陈先月

1850

<TD clas
作者: 方漠    时间: 2006-12-12 19:59
Dim x As Integer   '表1的行值
Integer类型的数据范围是-32,768 至 32,767,Sheet1.Rows.Count的值是65536,当然会溢出。改成Dim X as LONG 即可。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3