注册 登录
编程论坛 VB6论坛

求:IF判断问题,头大。。。

qq6222066 发布于 2013-11-04 21:24, 385 次点击
如下代码中,不管判断条件是不是成立,else后面的语句都执行,求帮忙,哪位大侠有空,加我QQ,我演示一下给你看看,真是上大火了。。。
Dim K As Integer
Dim J As Integer
Dim y As Integer

J = MSFlexGrid1.rows
K = 1
  For M2 = 1 To MSFlexGrid1.rows - 2
   
     'Text1 = I '测试用语句
      For n = 1 To MSFlexGrid2.rows - 1
         
       If MSFlexGrid1.TextMatrix(M2, 3) = MSFlexGrid2.TextMatrix(n, 3) Then
         xlApp1.Worksheets(sheetname).Cells(K + 1, 1) = MSFlexGrid1.TextMatrix(M2, 0)
         xlApp1.Worksheets(sheetname).Cells(K + 1, 2) = MSFlexGrid1.TextMatrix(M2, 1)
         xlApp1.Worksheets(sheetname).Cells(K + 1, 3) = MSFlexGrid2.TextMatrix(n, 2) - MSFlexGrid1.TextMatrix(M2, 2)
         xlApp1.Worksheets(sheetname).Cells(K + 1, 4) = MSFlexGrid1.TextMatrix(M2, 3)
         

   Else
   
       xlApp1.Worksheets(sheetname).Cells(J + 1, 1) = MSFlexGrid2.TextMatrix(M2, 0)
       xlApp1.Worksheets(sheetname).Cells(J + 1, 2) = MSFlexGrid2.TextMatrix(M2, 1)
       xlApp1.Worksheets(sheetname).Cells(J + 1, 3) = MSFlexGrid2.TextMatrix(M2, 2)
       xlApp1.Worksheets(sheetname).Cells(J + 1, 4) = MSFlexGrid2.TextMatrix(M2, 3)

   End If
         Next n
        K = K + 1
        J = J + 1
   Next M2
3 回复
#2
vbvcr512013-11-04 21:34
用<>试试。静心慢慢调试一下。
#3
qq62220662013-11-05 16:02
试过,一样不行。
我把两个月的工资表放在一个表格里,一 、看看有没有新增加的人,如果有,就在添加在第一个月的后面;二、把两个月每个人的工资差算出来。因为有重名的,用身份证进行对比。
只有本站会员才能查看附件,请 登录
,这是原文件,还有测试数据,哪位有时间帮忙看一下。
#4
qq62220662013-11-05 16:03
功能已经通过VBA实现,可问题搞不明白不甘心。不大写程序,有点儿乱,见谅。
1