宏函数增加EXCEL单元格的值

时间:2013-12-17 20:35:10

标签: excel excel-vba vba

我是Excel中宏编程的新手。

到目前为止,我能够创建一个转为

的程序
10.10.10.1
10.10.10.2
10.10.10.3
10.10.10.4

进入

10.10.10.1
10.10.10.1
10.10.10.1
10.10.10.1
10.10.10.1
10.10.10.2
10.10.10.2
10.10.10.2
10.10.10.2
10.10.10.2

以下内容:

Sub CopyData()
Dim lRow As Long
Dim RepeatFactor

    lRow = 1
    Do While (Cells(lRow, "A") <> "")

        RepeatFactor = 5
        If ((RepeatFactor > 1) And IsNumeric(RepeatFactor)) Then

           Range(Cells(lRow, "A"), Cells(lRow, "B")).Copy
           Range(Cells(lRow + 1, "A"), Cells(lRow + RepeatFactor - 1, "B")).Select
           Selection.Insert Shift:=xlDown

           lRow = lRow + RepeatFactor - 1
        End If

        lRow = lRow + 1
    Loop
End Sub

但是现在,我试图将每个IP地址的第三个八位字节增加到一定数量,然后重复。

这就是我所拥有的:

enter image description here

这就是我想要的:

enter image description here

请告诉我应该google的功能....

1 个答案:

答案 0 :(得分:3)

不是使用宏,而是使用简单的单元格公式(UDF)解决这个问题,然后将其复制下来。

A1 = 10
B1 = 10
C1 = 10+MOD(ROW(),4)
D1 = 0+INT(ROW()/4)
E1 = A1 & "." & B1 & "." & C1 & "." & D1

然后复制A1:E1 ......

(注意:避免使用宏!宏违反电子表格的功能特性,不透明(不可见数据处理方式),通常很复杂(只是尝试从别人那里读取代码)等)