gpt4 book ai didi

excel - 用于在 Excel 中自动添加行的宏

转载 作者:行者123 更新时间:2023-12-04 21:06:36 24 4
gpt4 key购买 nike

我有一个包含数千个条目的 Excel 表,如下表 A 所示。现在,由于
一些需求变化,我想为每个“名称”添加 3 个额外的“标签”,如表 B 所示。例如,名称 n1 将具有标签 t1、t2、t3 和 t4,并且对应于每个标签,会有一个单独的评论。 (A) 实现此目的的一种方法是在每列中添加三个新行(可以有 3 个空白行) (B) 另一种方法是在同一个文件中对应每个标签再添加 3 个工作表。 (C) 第三种方法可能是为 Tag 列设置一些过滤器......

有人可以建议一种自动化上述(A)的方法吗? (将不胜感激宏代码)如果有人可以共享代码来做(C)..或任何优雅的问题解决方案,那就更好了。谢谢!

表A

Name id Tag     Comment
n1 1 t1 my t1 comment for id 1
n2 2 t1 my t1 comment for id 2
n3 3 t1 my t1 comment for id 3
n4 4 t1 my t1 comment for id 4
n5 5 t1 my t1 comment for id 5

表 B
Name  id  Tag         Comment
n1 1 t1 my t1 comment for id 1*
n1 1 t2 my t2 comment for id 1
n1 1 t3 my t3 comment for id 1
n1 1 t4 my t4 comment for id 1
n2 2 t1 my t1 comment for id 2
n3 3 t1 my t1 comment for id 3
n4 4 t1 my t1 comment for id 4
n5 5 t1 my t1 comment for id 5

最佳答案

在您的 table 上测试了此代码,它应该可以工作

Sub NewRows()

Dim i As Long
Dim k As Long
Dim lastRow As Long
Dim wb As Workbook
Dim ws As Worksheet

Set wb = ThisWorkbook
Set ws = wb.Sheets("test")
lastRow = Range("B" & Rows.Count).End(xlUp).Row ' I assume that your unique ID's are in column B

For i = lastRow To 2 Step -1 '3 is the first row where you have data
For k = 4 To 2 Step -1 'Amount of new lines you want to insert
ws.Rows(i + 1).Insert shift:=xlShiftDown ' insert row
ws.Range("A" & i + 1).Value = ws.Range("A" & i).Value 'copy value in column A from original entry
ws.Range("b" & i + 1).Value = ws.Range("b" & i).Value 'copy value in column A from original entry
ws.Range("C" & i + 1).Value = "T" & k 'update tag info for each new line
ws.Range("d" & i + 1).Value = "this is " & ws.Range("C" & i + 1).Value & " comment for " & ws.Range("A" & i + 1).Value

Next k
Next i


End Sub

我不确定你如何用评论填充 D 列,但同样的原则也适用。

关于excel - 用于在 Excel 中自动添加行的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14856127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com