如何将静态数据粘贴到一个工作表上的新列中,以添加到另一个工作表上的表中的每个新行

How to paste static data in a new column on one worksheet for every new row added to a table on another worksheet

提问人:ak40837 提问时间:7/3/2019 最后编辑:Pᴇʜak40837 更新时间:7/13/2019 访问量:41

问:

我是 VBA 和一般编码的新手,正处于创建项目管理工具的开始阶段。使用此工具的过程从员工输入需要开设的帐户列表开始。对于每个帐户,都有一个标准化的任务列表,需要完成才能正式开立该帐户。

我想要的是,对于添加的每个新帐户,标准化的任务列表一起显示在单独的工作表上,而不是需要开设的帐户所在的位置。

我想到的是使用一个循环,以便对于添加到需要打开的帐户表的每个新行,将标准化的任务列表从工作簿中的工作表复制到包含所有帐户的所有标准化列表的工作表。这是我正在编写的代码。但是,我可以使用帮助和指导。

Dim New_Markets As Range
Set New_Markets = ThisWorkbook.Worksheets("List of Markets").Range("A1:B104")

Dim LastRow As Long
LastRow = ThisWorkbook.Worksheets("SKAs").ListObjects("Table1").Range.Rows.Count

Dim SKAs As Range
Set SKAs = ThisWorkbook.Worksheets("SKAs").Range("A1:E" & LastRow)

For Each Rows In SKAs
'I want to add a column of New_Markets to the sheet "Market to Open"
Excel VBA 项目

评论

0赞 scenography 7/4/2019
听起来您希望一张纸上的一行(帐号)变成另一张纸上的多行(任务列表)。这是可以做到的,但首先要考虑列。任务可以是列而不是行吗?您可以在列中键入 OK 以表示任务已完成。或者,如果列表仅用于读取或打印,则可以使单行看起来像多行。若要插入换行符,请键入 Alt+Enter。在单元格中,键入第一个任务 Alt+Enter,第二个任务 Alt+Enter,依此类推。如果这些解决方法不起作用,请告诉我。

答:

0赞 ak40837 7/13/2019 #1

这就是我一直在寻找的答案:

Sub Adding_New_SKAs()

Dim New_Markets As Range
Set New_Markets = ThisWorkbook.Worksheets("List of Markets").Range("A1:B104")

Dim LastRow As Integer
LastRow = ThisWorkbook.Worksheets("SKAs").Range("A1").CurrentRegion.Rows.Count

Dim i As Integer, Index As Integer

Index = 0

For i = 2 To LastRow
   New_Markets.Copy Sheet2.Range("A1").Offset(0, Index)
   Index = Index + 3
Next i

Columns.AutoFit

End Sub