excel - 如何使用宏复制每一行

标签 excel vba

我有 N+1 行的 excel 表,其中 A 列的唯一 ID 为 N。

我需要复制每一行,以便在第 N 行下方会有三个具有唯一 ID N-b、N-c、N-d 的新行

例如样本输入行:

id1    data here 
id2    data2 here 

例如样本输出:
id1    data here 
id1-b  data here 
id1-c data here
id1-d data here
id2    data2 here 
id2-b  data2 here 
id2-c data2 here
id2-d data2 here

最佳答案

你可以试试这样的

Sub Macro1()
Dim sheet As Worksheet
Dim usedRange As Range

    Set sheet = ActiveSheet
    Set usedRange = sheet.usedRange

Dim i As Integer

    For i = 1 To usedRange.Rows.Count
        Dim row As Range
        Set row = usedRange.Rows(((i - 1) * 4) + 1)

        Dim iCopy As Integer

        For iCopy = 1 To 3
            row.Copy
            Dim insertRow As Range
            Set insertRow = usedRange.Rows(((i - 1) * 4) + 1 + iCopy)
            insertRow.insert xlDown
            Dim copiedRow As Range
            Set copiedRow = usedRange.Rows(((i - 1) * 4) + 1 + iCopy)
            copiedRow.Cells(1, 1) = copiedRow.Cells(1, 1) & "-" & Chr(97 + iCopy)

        Next iCopy
    Next i
End Sub

关于excel - 如何使用宏复制每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2108632/

相关文章:

mysql - 子查询在 SELECT 部分返回多于 1 行(Dlookup 到 MySql)

excel - 在单元格更改时自动执行 Excel 宏

excel中的sql查询

java - Spring MVC 中的 Xml View 解析器不起作用

vba - 为方程定义变量

VBA Excel 字典对象值

vba - 带有许多工作表和宏的慢速 Excel 文件

vba - ArcObjects - 枚举地理数据库中的要素类和数据集

Python 或 LibreOffice 保存使用密码加密的 xlsx 文件

excel - 一种更准确、更高效的模糊搜索算法