我正在尋找只有特定工作表才能運行的宏。宏的目的是查找指定範圍並找到負值,以及是否有將整行提取到新工作表中,同時將這些負值轉換爲正值。我想出了一些,但我確信這是完全錯誤的...錯過了很多東西。仍然試圖學習,新vba的東西。預先感謝您提供的任何幫助。 fyi ntp代表負面的陽性。不知道這會幫助,只是覺得我可以所有的細節寫信給我的小「代碼」要在特定工作表上運行的VBA宏
Sub ntp()
Dim ws As Worksheet
If ws.Name <> "originalNeg" Then
For Each Cell In Range("I2:I1048576")
If Cell.Value < 0 Then
Cell.Value = Abs(Cell.Value)
End If
Next Cell
End Sub
'Rows.Count'?不合格?!?!?!來吧,額外的'''不需要太多的輸入。 – YowE3K
@ YowE3K - 我實際上在琢磨自己 - 用'Rows.Count',不會總是**是一樣的嗎?我同意,呃,它在哪裏?啊,'''不是很難打字。但我有意識地把它留在這裏幾乎要誘惑*某人*發表評論,所以我可以問。 ...那麼,Rows.Count不合格實際上是否重要,或者放慢了速度? :D – BruceWayne
實際上,考慮到你有一個不合格的'Worksheets',因此你所指的是'ActiveWorkbook'中的一個工作表,因此它與ActiveSheet相同,在這種情況下它不會* *問題。但是,如果活動工作簿是'xlsx'文件,並且您所指的工作表位於'xls'文件中,那麼'ActiveSheet.Rows.Count'將是'1048576',並且正在處理的工作表將只具有'65536'行 - 從而給出1004錯誤。 (而且,如果這些文件是相反的,你可能會錯過使用1000000行,因爲你從65536上升了。) – YowE3K