Excel精英培训网

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

[已解决]请把这个for each循环改写为for循环, 并且不要用like

[复制链接]
发表于 2017-4-8 09:39 | 显示全部楼层 |阅读模式
本帖最后由 laoau138 于 2017-4-10 21:26 编辑

请把这个for each循环改写为for循环,  并且不要用like


最佳答案
2017-4-10 16:46
  1.     For i = Sheets.Count To 1 Step -1
  2.      
  3.         If InStr(Sheets(i).Name, "高一") Then
  4.             Sheets(i).Delete
  5.       
  6.         End If
  7.     Next
复制代码

请把这个for each循环改写为for循环, 并且不要用like.rar

12.61 KB, 下载次数: 5

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-4-8 22:41 | 显示全部楼层
不用for each改用for的话,那就得一个sheet一个sheet的判断了,判断一个删一个,删一个就少一个。
所以你循环的sheet数量是递减的,递减的话不就得从最后一个开始判断么。不然你从1开始循环,第1个表删掉了,循环到2的时候判断的就是当前workbook的第2个sheet了。

评分

参与人数 1 +9 收起 理由
laoau138 + 9 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-4-9 17:24 | 显示全部楼层
endupbkb 发表于 2017-4-8 22:41
不用for each改用for的话,那就得一个sheet一个sheet的判断了,判断一个删一个,删一个就少一个。
所以你 ...

怎样写代码
回复

使用道具 举报

发表于 2017-4-10 16:46 | 显示全部楼层    本楼为最佳答案   
  1.     For i = Sheets.Count To 1 Step -1
  2.      
  3.         If InStr(Sheets(i).Name, "高一") Then
  4.             Sheets(i).Delete
  5.       
  6.         End If
  7.     Next
复制代码

评分

参与人数 1 +9 收起 理由
laoau138 + 9 来学习

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 00:00 , Processed in 0.315315 second(s), 17 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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