Sub BuildUserCoordinate()
Dim RX: Scale
RX = MinX + ScaleWidth / ScaleHeight * (MaxY - MinY)
Scale (MinX - (RX - MinX) * 0.02, MaxY + (MaxY - MinY) * 0.05)-(RX + (RX - MinX) * 0.08, MinY - (MaxY - MinY) * 0.05)
End Sub
 
倒数第二条语句提示除数为0。能不能讲讲这个代码是啥意思啊

解决方案 »

  1.   

     ScaleHeight * (MaxY - MinY) ==0?
      

  2.   

    MaxY - MinY = 0MaxY = MinY  ??MaxY 、MinY在哪定义的,是否为全局变量。
      

  3.   

    minx,miny,maxx和maxy是xy轴的最大、最小坐标,是从一个数据文件中读出来的
      

  4.   

    不是这条语句出错,是Scale (MinX - (RX - MinX) * 0.02, MaxY + (MaxY - MinY) * 0.05)-(RX + (RX - MinX) * 0.08, MinY - (MaxY - MinY) * 0.05)这个提示除数为0
      

  5.   

    Dim RX: Scale
    这是什么意思啊,:相当于重启以行,那你的代码应该相当于运行了一次scale
      

  6.   


    有时候会出现这种错误,我也百思不得其解。我的解决方法,不怎么好,但一般可以解决问题,原理望高手们分析。
    当然首先要保证代码中的值是正确的。Sub BuildUserCoordinate()
        Dim RX, Scale
    subHeader:
        on error resume next
        RX = MinX + ScaleWidth / ScaleHeight * (MaxY - MinY)
        Scale (MinX - (RX - MinX) * 0.02, MaxY + (MaxY - MinY) * 0.05)-(RX + (RX - MinX) * 0.08, MinY - (MaxY - MinY) * 0.05)
        if err.number<>0 then
            DoEvents
            goto subHeader
        end if
    End Sub
      

  7.   


    变量定义为scale,scale函数功能就会丧失
      

  8.   

    Scale (1, 1)-(2, 2) 正确Scale (1, 1)-(1, 1) 错误
    Scale (1, 1)-(2, 1) 错误
    Scale (1, 1)-(1, 2) 错误两坐标(纵坐标和横坐标)间要有距离才是正确的,
    任何两个坐标点没有距离都是错误的,因为你是要缩放一个范围。错误时VB提示被0除。