您现在的位置:龙卷风首页 ›› 办公室援助 ›› 阅读文章

批量改变Excel表中的值

提高工作效率的小脚本.

用户要求:有一份报价格,要求把C列的所有报价都上涨3美元,把D列的报价都上涨1.7美元.由于每列的行数很多,并且价格各不相同,如果逐个更新,工作量将会很大,并且容易出错.下面这个脚本可以又快又准地解决这个需求.

Sub changeValue()
    '用户输入
    Dim userInput
    userInput = Application.InputBox("输入开始单元格,结束单元格,以及需要添加的数字,格式如A1,A2,2.5")
    '转为数列
    Dim arrUserInput
    arrUserInput = Split(userInput, ",")
    '起始单元格
    Dim Cx, Cy
    Cx = Mid(arrUserInput(0), 1, 1)
    Cy = Mid(arrUserInput(0), 2, 2)
    '结束单元格
    Dim Dx, Dy
    Dx = Mid(arrUserInput(1), 1, 1)
    Dy = Mid(arrUserInput(1), 2, 2)
    '涨幅
    Dim upRange
    upRange = arrUserInput(2)
    '转换
    Dim Ex, Ey, Fx, Fy
    Ex = Asc(Cx) - 64
    Ey = Cy
    Fx = Asc(Dx) - 64
    Fy = Dy
    '进行操作
    Dim i, j
    For i = Ey To Fy
        For j = Ex To Fx
            Dim value
            value = Cells(i, j)
            Cells(i, j) = value + upRange
        Next
    Next
End Sub

将上面这段代码置入Excel的宏中,需要更新报价的时候,执行ChangeValue这个宏,按要求键入对应的起始单元格,结束单元格,以及增加的值即可.

作者 不见不散 本文仅代表作者观点,与龙卷风资讯网立场无关。

我来说两句

内容/Content