|
Set WB = Workbooks.Open(Path & File)
k = k + 1
ss = ActiveWorkbook.Sheets(1).Range("a1")
m = InStr(1, ss, "热心人", vbTextCompare)
ThisWorkbook.Sheets("sheet1").Range("a" & k + 1) = Mid(ss, m + 6, 10)
ThisWorkbook.Sheets("sheet1").Range("b" & k + 1) = Mid(ss, m + 55, 4)
Set reg = CreateObject("VBScript.RegExp")
sr = ActiveWorkbook.Sheets(1).Range("d4").Value & ActiveWorkbook.Sheets(1).Range("i4").Value
With reg
.Global = True
.Pattern = "帅"
If .test(sr) Then ThisWorkbook.Sheets("sheet1").Range("c" & k + 1) = ActiveWorkbook.Sheets(1).Range("b4")
If .test(sr) And Range("b4") = "" Then
.Pattern = "\d\.?\d"
If .test(sr) Then
Set ma = .Execute(sr)
For Each z In ma
ThisWorkbook.Sheets("sheet1").Range("c" & k + 1) = Val(z)
Next z
Else
ThisWorkbook.Sheets("sheet1").Range("c" & k + 1) = Right(ActiveWorkbook.Sheets(1).Range("c4"), 4)
End If
End If
.Pattern = "丑"
If .test(sr) Then ThisWorkbook.Sheets("sheet1").Range("c" & k + 1) = ""
End With
上面程序对单个工作薄运行可以达到预期效果,多工作薄遍历执行后就不行,没有报错,只是标红代码没有达到预期效果,望大家指点一下,是什么原因导致的,或遇到类似问题,如何解决的
在可疑的语句前后前后打上断点,就可以知道程序代码是否运行到指定位置。然后单步调试。利用立即窗口(ctrl+G)直接调试便可快速找到问题所在。
|
|