我有一些麻煩,寫我的VBA宏它做以下的範圍:錯誤日誌,如果數量不中的其他工作表
在小區C3我將進入一個成本中心,在D3單元格將有輸入成本類型編號。
現在我想要做的是顯示一個錯誤信息,當C3中的值以3開頭,D3中的值(總是7個數字)不在AG2單元格中列出的數字的範圍內時,彈出一條錯誤消息:AG23另一個工作表稱爲元數據。
到目前爲止我的代碼如下:
'Do While...
'...
If Left(Cells(CLine, 3).Value, 1) = "3" Then
If Cells(CLine, 5).Value = blank Then
If SLine = 1 Then
ErrLog = ErrLog & "Costcenter in Line" & " " & Dline
SLine = SLine + 1
Else
ErrLog = ErrLog & ", " & Dline
End If
End If
End If
Dline = Dline + 10
CLine = CLine + 1
Loop
If SLine > 1 Then
ErrLog = ErrLog & " requires WBS Element." & vbCrLf
End If
現在,如果我擴大這樣If Left(Cells(CLine, 3).Value, 1) = "3" and Left(Cells(CLine, 4).Value, 7) <> "1000000" Then
它工作正常,我的錯誤消息的第一行會只拿出當在單元格中輸入超過100萬的其他值D3。
但是,只要我開始使用諸如< 1000000和> 2000000之類的東西(爲了在使用1000000和2000000之間的數字時不會收到消息),我會在出錯後收到錯誤消息。
有人可以幫助我,告訴我如何在簡單的方法中在代碼的第一行中包含「之間」,以便在輸入10000000和2000000之間的數字時不會出錯?
試圖縮進你的代碼中有一個'Loop'哪裏是'待辦事項While'或其他啓動陳述? –
問題是我試圖擴展現有文件的公式。循環開始進一步,但是這是一大堆代碼。 我想要做的也許不會在VBA代碼中解釋它將會是以下檢查: 如果單元格C3中的值以3開頭,並且單元格D3中的值不在單元格AG2:AG23的範圍內工作表元數據,則出現錯誤消息「請輸入WBS元素」 – Claudia
D列中的值是否被格式化爲數字? Id是,沒有用'Left(Cells(CLine,4).Value,7)<>「1000000」'只需使用'Cells(CLine,4).Value <> 1000000'或'Cells(CLine,4 ).Value> 1000000' –