Excel VB 批量删除 多个工作表 某月以上的数据(保留下个月)
1234561月678698562月多个工作表,只保留最后一个月数据,其他删除,最后一个月是2月,就保留2月数据这个人的数据也是这样的,都是C列的某行写月份,下行写数据,...
1234
56
1月
6786
9856
2月
多个工作表,只保留最后一个月数据,其他删除,最后一个月是2月,就保留2月数据
这个人的数据也是这样的,都是C列的某行写月份,下行写数据,保留最后一个月的数据(这里是保留3月份的数据,绿色的行删除) 展开
56
1月
6786
9856
2月
多个工作表,只保留最后一个月数据,其他删除,最后一个月是2月,就保留2月数据
这个人的数据也是这样的,都是C列的某行写月份,下行写数据,保留最后一个月的数据(这里是保留3月份的数据,绿色的行删除) 展开
4个回答
展开全部
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月份也好,都只保留最后那个月的数据
展开全部
要看你具体的Excel文档,不好妄自揣测。(如果不方便可以根据实际情况模拟数据)
追问
我已经加了图片说明了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把需要的表复制留下,其他全部扔掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看你这个表真的很难处理,一个表里面把所有的月份都写全了,并且没有按照规律写。东一块西一块;
图片是看不懂了,是不是你所有的表都是这样?
你发表格吧
图片是看不懂了,是不是你所有的表都是这样?
你发表格吧
追问
嗯 ,都是这样的格式,都是C列某行写月份,下一行写数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询