繁体   English   中英

VBA宏可在特定工作表上运行

[英]VBA Macro to run on a specific worksheet

我希望有一个宏只为特定的工作表运行。 宏的目的是查找指定范围并查找负值,如果有,则将整个行提取到新的工作表中,同时将这些负值转换为正值。 我想出了一些,但我可以肯定这是完全错误的……缺少很多东西。 仍在尝试学习,这是vba的新知识。 在此先感谢您可以提供的任何帮助。 Fyi ntp代表negativepositpositives。 不确定是否会有所帮助,只是以为我可以将所有详细信息写入我的小“代码”中

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
Sub ntp()
Dim ws      As Worksheet
Dim cel     As Range
With Activeworkbook.Worksheets("originalNeg")
    For Each cel In .Range("I2:I" & .Range("I" & Rows.Count).End(xlUp).row)
        If cel.Value < 0 Then cel.Value = Abs(cel.Value)
    Next cel
End With
End Sub

这将使用工作表,并注意. Range()之前,它将范围链接到该特定工作表。

同样,很少会使用列中的所有单元格。 我使用.End(xlUp).Row来获取列I中最后使用的行,以供您遍历。

Set ws = ThisWorkbook.Worksheets("originalNeg") 

而不是名称上的if。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM