我正在寻找只有特定工作表才能运行的宏。宏的目的是查找指定范围并找到负值,以及是否有将整行提取到新工作表中,同时将这些负值转换为正值。我想出了一些,但我确信这是完全错误的...错过了很多东西。仍然试图学习,新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