珍惜的仁 发表于 2021-5-19 10:47

求助VBA,别人弄得就可以,为何自己弄得就不行呢?

本帖最后由 珍惜的仁 于 2021-5-19 10:49 编辑

Sub ssqq()
    Columns("a:ap").ClearContents
    前 =
    后 =
    If 前 = "" Or 后 = "" Then Exit Sub
    'ar = Sheets("01").Range("a1").CurrentRegion
    ar = Sheets("01").UsedRange
    myr = UBound(ar)
    myc = UBound(ar, 2)
    Sheets("01").Range(前 & "1" & ":" & 后 & myr).Copy
    Range("a1").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    For i = 1 To myr
      If ar(i, myc) = 0 And ar(i, myc - 1) = 0 And ar(i + 1, myc) = 0 And ar(i + 1, myc - 1) = 0 Then k = i: Exit For
    Next
    Rows(k & ":" & myr).ClearContents
End Sub


这是代码,别人弄得就可以,我自己弄就不可以。为何?请问可以改成适应代码吗?换表格后也能正常使用。附件太大上传不来,转二进制还是大。

砂海 发表于 2021-5-19 18:05

是文件格式不对 还是 附件 太大 ?

文件格式: excel文件不能直接上传 , 压缩一下
附件太大: 文件内容 值保留 示例部分.

珍惜的仁 发表于 2021-5-20 08:51

砂海 发表于 2021-5-19 18:05
是文件格式不对 还是 附件 太大 ?

文件格式: excel文件不能直接上传 , 压缩一下


If ar(i, myc) = 0 And ar(i, myc - 1) = 0 And ar(i + 1, myc) = 0 And ar(i + 1, myc - 1) = 0 Then k = i: Exit For他这个按最后两列是0终止提取,能否改成按最后一行是00000000或555555 ,终止提取呢?
页: [1]
查看完整版本: 求助VBA,别人弄得就可以,为何自己弄得就不行呢?