Excel精英培训网

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

[已解决]请高手指点错误

[复制链接]
发表于 2010-11-7 21:19 | 显示全部楼层 |阅读模式
Sub 表9()
Application.ScreenUpdating = False
    Dim a, bAs Integer
        Sheets("表9").Range("b8:ac187").ClearContents
    
    
     Sheets("表10").Select
         For a = 8 To 186 Step 2
        For b = 12 To 196 Step 2
            If Worksheets("表9").Cells(a, 1).Value = Worksheets("表10").Cells(b, 1).Value Then
               WorkSheets("表9").Range(Cells(a, 2), Cells(a, 29)) .Value= WorkSheets("表10").Range(Cells(b, 2), Cells(b, 29)).Value  (运行到此行出错,不知啥原因)
               Worksheets("表9").Range(Cells(a + 1, 2), Cells(a + 1, 29)).Value = Worksheets("表10").Range(Cells(b + 1, 2), Cells(b + 1, 29)).Value
            End If
        Next b
     Next a
                  
  
     Application.ScreenUpdating = True
  Sheets("表9").Select
 
    
End Sub
TQlfcyAQ.rar (13.82 KB, 下载次数: 3)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2010-11-7 21:29 | 显示全部楼层
回复

使用道具 举报

发表于 2010-11-7 21:43 | 显示全部楼层

楼主最好同时传上EXCEL文件,才好测试[em09]
回复

使用道具 举报

 楼主| 发表于 2010-11-7 21:58 | 显示全部楼层

已上传,请高手指点呀!!
回复

使用道具 举报

 楼主| 发表于 2010-11-8 10:33 | 显示全部楼层

有高手在不?

回复

使用道具 举报

发表于 2010-11-8 11:56 | 显示全部楼层    本楼为最佳答案   

测试了下,这里不能这么赋值。

由于不知道目的,改数组过渡,最后结果产生了(舍入)差别,我想是和公式有关。所以最好根据目的,重新设计方法。

Sub 表9()
    Dim a, b As Integer,arr
   
    Application.ScreenUpdating = False
    Sheets("表9").Range("b8:ac187").ClearContents
    Sheets("表10").Select

    For a = 8 To 26 Step 2
        For b = 12 To 28 Step 2
            If Worksheets("表9").Cells(a, 1).Value = Worksheets("表10").Cells(b, 1).Value Then
           
                arr = Worksheets("表10").Range(Cells(b, 2), Cells(b, 29))
                Worksheets("表9").Cells(a, 2).Resize(UBound(arr), UBound(arr, 2)) = arr
                Erase arr
                arr = Worksheets("表10").Range(Cells(b + 1, 2), Cells(b + 1, 29))
                Worksheets("表9").Cells(a + 1, 2).Resize(UBound(arr), UBound(arr, 2)) = arr
                Erase arr
               
            End If
        Next b
    Next a
    Sheets("表9").Select
    Application.ScreenUpdating = True
End Sub

 

[em11]
[此贴子已经被作者于2010-11-8 13:04:05编辑过]

请高手指点错误

请高手指点错误
回复

使用道具 举报

 楼主| 发表于 2010-11-8 13:47 | 显示全部楼层

OK.非常感谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 19:28 , Processed in 0.352478 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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