Excel VB 批量删除 多个工作表 某月以上的数据(保留下个月)

1234561月678698562月多个工作表,只保留最后一个月数据,其他删除,最后一个月是2月,就保留2月数据这个人的数据也是这样的,都是C列的某行写月份,下行写数据,... 1234
56

1月

6786
9856

2月

多个工作表,只保留最后一个月数据,其他删除,最后一个月是2月,就保留2月数据
这个人的数据也是这样的,都是C列的某行写月份,下行写数据,保留最后一个月的数据(这里是保留3月份的数据,绿色的行删除)
展开
 我来答
眯住眼串针
科技发烧友

2018-08-26 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:1.1万
采纳率:58%
帮助的人:3081万
展开全部
Sub test()
For i = 1 To Sheets.Count
    With Sheets(i)
    ARow = .Range("A65536").End(xlUp).Row
    For j = ARow To 1 Step -1
        If .Range("A" & j) = "日期" Then
            myrow = j - 1
            j = 1
        End If
    Next j
    .Rows("1:" & myrow).Delete
    End With
Next i
End Sub
更多追问追答
追问
.Rows("1:" & myrow).Delete 
运行时,总是提示这行“类型不匹配”
我觉得应该是某各工作表的数据里面、没有“3月份”的数据,因为他3月份没上班,请假了,所以报错,要加什么语句呢?(如果某个工作表没有3月份的数据的话,就删除这个工作表吧)
追答
这段代码是检索每个工作表的A列最末一个值为“日期”的单元格
再将这个“日期”上面的单元格删除掉
所以要求每个工作表的数据要符合规范:就算当月没有数据,那行标题行(如第2行、第18行、第30行这种)也得复制上去
这样不管工作表的最后是2月份也好、是3月份也好,都只保留最后那个月的数据
帐号已注销
2018-08-25 · TA获得超过1663个赞
知道小有建树答主
回答量:6318
采纳率:30%
帮助的人:929万
展开全部
要看你具体的Excel文档,不好妄自揣测。(如果不方便可以根据实际情况模拟数据)
追问
我已经加了图片说明了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TAIKAIKONG
2018-08-25 · 超过32用户采纳过TA的回答
知道答主
回答量:351
采纳率:20%
帮助的人:68.3万
展开全部
把需要的表复制留下,其他全部扔掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冠怀雁Xu
2018-08-26 · TA获得超过190个赞
知道小有建树答主
回答量:442
采纳率:60%
帮助的人:105万
展开全部
看你这个表真的很难处理,一个表里面把所有的月份都写全了,并且没有按照规律写。东一块西一块;
图片是看不懂了,是不是你所有的表都是这样?
你发表格吧
追问
嗯 ,都是这样的格式,都是C列某行写月份,下一行写数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式