[英]Excel VBA If Not Sheet is Sheet 1 or sheet 2 and Boolean is true within a For Next loop
整個宏從excel數據庫中提取數據並更新excel中的工作表。我基本上是想告訴它更新除兩個特定工作表以外的所有內容,一個在末尾,一個在開始。 該代碼已經使用了一段時間,但是我想在工作表的開頭添加一個表,但無法使其正常工作。
這是有問題的代碼
For Each wsSheet In wbBook.Worksheets
strName = wsSheet.Name
If Not (wsSheet Is (Sheet1)) And _
(blnTF Or (strName = wsActSheet.Name)) _
Then ... other code
上面的代碼工作正常,但我試圖添加一個Or語句以檢查是否不是Sheet 1或Sheet 2。
我是VBA的新手,並不熟悉語法,我從邏輯上知道我想做什么,並嘗試了多次
這也是我嘗試過的
For Each wsSheet In p_wbBook.Worksheets
strName = wsSheet.Name
If Not (wsSheet Is (Sheet1) Or (Sheet2)) And _
(blnTF Or (strName = wsActSheet.Name)) _
Then .... other code
但是它不喜歡or語句,如果沒有通過書寫,我也嘗試過
If wsSheet is Sheet2 Then
Goto Next
但它也不喜歡。
對於Excel為什么不喜歡此語法的任何幫助,將不勝感激。
@PAH是正確的。 在這種情況下,您必須在OR后面有完整的陳述。
(condition 1) Or (condition 2)
改成:
If Not (wsSheet Is (Sheet1) Or wsSheet Is (Sheet2)) And _
為了進行測試,我使用了以下內容:
For Each wsSheet In wbBook.Worksheets
strName = wsSheet.Name
If Not (strName = "Sheet1" Or strName = "Sheet2") And (blnTF Or (strName = wsActSheet.Name)) Then
MsgBox (strName)
End If
Next wsSheet
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.