我有一个大型的VBA项目,负责改变它如何收集一些数据。空白单元格 - 如何停止VBA程序/具有空/空单元格的函数
基本上,数据将在列W¯¯要输入的纸张上,它是在宏代码是这样的:
For Each rCell In Worksheets("REPORT").Range("W2:W50")
Debug.Print rCell.Value:
sJob = rCell.Value
它吸引我希望它在列抢W.
数据不久之后,它揭开序幕的功能就是在这个代码块:
vJobFolders = Split(FindJobDir(strpathtofile & sJob), ",")
For i = 0 To UBound(vJobFolders)
这功能,称为FindJobDir,长相像这样:
Function FindJobDir(ByVal strPath As String) As String
Dim sResult As String
sResult = Dir(strPath & "*", vbDirectory)
FindJobDir = UCase$(sResult)
Do While sResult <> ""
sResult = Dir
If Len(sResult) > 0 Then FindJobDir = FindJobDir & "," & UCase$(sResult)
Loop
End Function
这是怎么回事,它抓住所有的数据后可以发现它列W,它只是继续在工作路径中添加了一切。它不会停止,直到找到该路径中的所有“作业”。我需要它在W列中的数据为空/空时停止这样做。
不是在VBA的专业人士,不知道该说什么或在哪里......任何建议?
您可以通过查找列W中的值的最后一行来限制范围,请参阅此处:http://stackoverflow.com/questions/11169445/error-in-finding-last-used-cell-in-vba或者你可以在第一个代码块的第二行之前放置一条IF语句,如果'rCell.Value =“”''rCell.Value =“”' –