首页 > 解决方案 > 从列值创建工作表,并在每个工作表的特定单元格中的列中插入值

问题描述

我找到了一个宏,它读取“工作表插入”的 A 列中的值,根据这些值创建单独的工作表,然后将“模板”复制到每个新页面。

Sub NewSheets()
Dim i As Integer
Dim ws As Worksheet
Dim sh As Worksheet
Set ws = Sheets("Template")
Set sh = Sheets("Sheets Insert")
Application.ScreenUpdating = 0

For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
        Sheets("Template").Copy Before:=sh
        ActiveSheet.Name = sh.Range("A" & i).Value
Next i
End Sub

它工作得很好。

所以下一步对我来说是在“工作表插入”的 A 列中获取工作表的创建值,并将该值插入到创建的工作表的 G3 处。

然后我需要它在“Sheets Insert”的B列中的同一行中获取值并将其复制到该页面上的C3中。

例如:

“床单插入”

Column A   |   Column B

Motor A         12345
Motor B         23456

代码创建表电机 A 并将电机 A 粘贴到 [g3] 并将 12345 粘贴到电机 A 表上的 [c3]。

代码创建表电机 B 并将电机 B 粘贴到 [g3] 并将 23456 粘贴到电机 B 表上的 [c3]。

依此类推。我搜索了几个小时,但没有运气。希望有人可以提供帮助。谢谢。

标签: excelvba

解决方案


如果我理解您的问题,您必须添加两行代码:

Sub NewSheets()
Dim i As Integer
Dim ws As Worksheet
Dim sh As Worksheet
Set ws = Sheets("Template")
Set sh = Sheets("Sheets Insert")
Application.ScreenUpdating = 0

For i = 2 To Range("A" & rows.count).End(xlUp).Row
        Sheets("Template").Copy Before:=sh
        ActiveSheet.Name = sh.Range("A" & i).Value

        'add code
        Range("G3") = sh.Range("A" & i) 'copy name into cell G3
        Range("C3") = sh.Range("B" & i) ' copy data into cell C3
Next i
End Sub

希望这可以帮助


推荐阅读