Excel精英培训网

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

[已解决]next 没有 for什么原因

[复制链接]
发表于 2012-5-18 16:47 | 显示全部楼层 |阅读模式
Sub test()
Application.DisplayAlerts = False '关闭提示
Application.ScreenUpdating = False '关闭屏幕更新,加快程序运行。
For m = 65536 To 1 Step -1
ThisWorkbook.Sheets(3).Select
If Cells(m, 2) = GSM Then
y = Cells(m, 1)
  For k = 1 To Sheets.Count
  Sheets(k).Select
    For i = 65536 To 1 Step -1
    If Cells(i, 1) = y Then Rows(i).Delete
    Next i
  Next k
  Next m
Application.DisplayAlerts = ture
Application.ScreenUpdating = ture
End Sub
这个是在那个基础上改进的只是所要删除的内容为7的行
是因为B列中为GSM,我已经修改的但是调试老是提示:编译错误next没有for
A列
B列
21
GSM+UMTS
23
GSM+UMTS
7
GSM
42
GSM
45
GSM+UMTS

最佳答案
2012-5-18 16:52

  1. If Cells(m, 2) = GSM Then
  2. y = Cells(m, 1)
  3.   For k = 1 To Sheets.Count
  4.   Sheets(k).Select
  5.     For i = 65536 To 1 Step -1
  6.     If Cells(i, 1) = y Then Rows(i).Delete
  7.     Next i
  8.   Next k
  9. end if
  10. Next m
复制代码
少了个end if
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-5-18 16:52 | 显示全部楼层    本楼为最佳答案   

  1. If Cells(m, 2) = GSM Then
  2. y = Cells(m, 1)
  3.   For k = 1 To Sheets.Count
  4.   Sheets(k).Select
  5.     For i = 65536 To 1 Step -1
  6.     If Cells(i, 1) = y Then Rows(i).Delete
  7.     Next i
  8.   Next k
  9. end if
  10. Next m
复制代码
少了个end if
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 00:19 , Processed in 0.269048 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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