Excel VBA循环判断指定值

同一路径下有若干个相同格式的文件需要进行检查。现在想做一个检查用的工作簿(存放代码),放到该路径下执行检查命令。检查内容:检查各个工作簿F列的最后一个非空单元格的值,是否... 同一路径下有若干个相同格式的文件需要进行检查。
现在想做一个检查用的工作簿(存放代码),放到该路径下执行检查命令。
检查内容:检查各个工作簿F列的最后一个非空单元格的值,是否等于指定单元格A2的值。
值相等时,将没问题的工作簿放进同一路径下的【ok】文件夹中;
值不相等时,将工作簿名依次写进检查表的A列。
望高手指点,回答满意再追加50分。
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
ExcelPower
2014-06-12 · 专业Excel公式图表数据分析VBA
ExcelPower
采纳数:4495 获赞数:11864

向TA提问 私信TA
展开全部
每个工作薄只有1个sheet ,还是所有sheet 都要检查?
可以做,但是你没说清楚
更多追问追答
追问
不好意思,没说清楚。
是多个sheet,格式都是相同的。
只要其中一个sheet不满足条件,就将文件名写到检查表中
追答
如下测试成功:
Sub 遍历当前文件夹下工作薄()
t = Timer
Application.ScreenUpdating = False
Dim i, r, wk As Workbook, sh As Worksheet, rr
p = ThisWorkbook.Path & "\"
s = Dir(p & "*.xls*")
Do While s <> ""
If s <> ThisWorkbook.Name Then
Set wk = Workbooks.Open(p & s)
For k = 1 To wk.Sheets.Count
a = ThisWorkbook.Worksheets(1).Range("A65536").End(xlUp).Row + 1
r = wk.Sheets(k).Range("F65536").End(xlUp).Row
Set sh = wk.Sheets(k)
If sh.[A2] <> sh.Cells(r, "F") Then
ThisWorkbook.Worksheets(1).Cells(a, 1) = wk.Name
End If
Next k
If ThisWorkbook.Worksheets(1).Cells(a, 1) <> wk.Name Then wk.SaveCopyAs p & "ok\" & wk.Name
wk.Close False
End If
s = Dir
Loop
t1 = Timer - t
MsgBox ("所有工作薄收集完成,用时" & t1 & "秒")
Application.ScreenUpdating = True
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式