none
excel2010制作使用的marco在excel2013里使用结果异常 RRS feed

  • 问题

  • excel2010制作使用的marco 在excel2013里使用结果异常

    代码如下:

    Dim r As Long    ’r为A表行数变量,A表是一个数据库的表

    Dim c As Long    ’c为B表行数变量,B表是一个只有表头的空白表

    Dim str As String    'str为B表中的搜索关键字的值

    Dim rng As Range    ‘这个不会解释

    str = Range("A1").Value    'A1在B表中 宏按钮在B表中触发

    c=2    '初始在B表第2行

    Sheets("A").Activate      '选择A表

        For r = 1 To [A65536].End(xlUp).row
            Set rng = Range("E" & r).Find(str, LookIn:=xlValues, LookAt:=xlPart)    '搜索关键字str跟A表E列的每项对比
            If Not rng Is Nothing Then     '如果对比A表E列的r项包含str关键字 就会把该行复制到B表c行
                rows(r).Copy
                Worksheets("B").Range("A" & c).PasteSpecial _
                                                Paste:=xlPasteAll, Operation:=xlNone, _
                                                SkipBlanks:=False, Transpose:=False
                c = c + 1    'B表的下一行
            End If
        Next

     这行代码主要功能是通过关键字搜索A表指定列中相关的内容的行复制到B表进行编辑

    在excel2010运行结果正常 也尝试过在excel2016 O365运行过可以正常

    但在excel2013里运行 相同操作 搜索某些关键字只复制少数记录到B表,我debug把断点设在c=c+1去运行,每次到断点再按F5,就能够运行出完整的记录,好奇怪;不知道是不是这个版本的问题,相同版本的其他电脑上也试过一样,所以想问问微软能否找到问题在哪里,谢谢。

    2018年12月4日 2:33

答案

全部回复