Excel中VBA程序编写(紧急求助)谢谢大家!

题目要求:用户在EXCEL工作表中写了很多数字,并被选中,要求编写一个程序能够使这些数字中有小于0的数字时,弹出对话框来提问“该单元格中的数值小于0,是否需要更正”,选是,则把原数值改成其10倍,选否,则不做任何动作。

Sub test()

    Dim rng As Range

    Set rng = Selection

    Dim f As WorksheetFunction

    Set f = WorksheetFunction

    

    If f.CountIf(rng, "<0") > 0 Then

         If MsgBox("该单元格中的数值小于0,是否需要更正", vbOKCancel) = vbCancel Then Exit Sub

        Dim cel As Range

        For Each cel In rng

            If cel.Value < 0 Then

                If IsNumeric(cel.Value) Then

                    cel = cel.Value * 10

                End If

            End If

        Next

    End If

    

End Sub


加个按钮引用上面宏

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-27
需要单元格的具体位置信息追问

单元格具体位置没有说,您可以假设几种情况,比如A1到E8中放入一些数字,且这其中还有空缺的单元格。

追答
相似回答