自动使用数据填充新工作表

时间:2015-03-02 08:58:54

标签: excel vba

我试着查看其他类似的问题和解决方案,但作为Excel初学者,我无法弄明白。

所以我有以下宏:

Sub Worksheet_Change(ByVal Target As Range)
Dim wsNew As Worksheet
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub

On Error Resume Next

If Not Intersect(Target, Range("B46:B99")) Is Nothing Then

    ThisWorkbook.Sheets("LT").Copy _
 After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)



End If 
End Sub

它在同一工作簿中打开一个新工作表,我需要使用主工作表中的数据自动填充某些单元格。主要工作表:http://i.imgur.com/RJe44hQ.jpg新工作表:http://i.imgur.com/eatbg6j.jpg。我需要复制的单元格为红色。

提前感谢您的帮助!对这一切真的很新..

1 个答案:

答案 0 :(得分:0)

由于您没有指定需要从主表中提取哪些值,因此我不能过于具体,但一般来说有三种方法可以采用。

1)如果数据在两张纸上的单元格的连续范围内,您只需在创建新工作表后从主工作表复制数据,然后将值粘贴到正确的目标范围

2)如果数据在两个工作表上都不连续,那么您的下一个最佳选择是根据主页上相应单元格的值设置每个目标单元格的值。例如:要将Sheet2上的A2设置为Sheet1上的B4值,您将使用Worksheets("Sheet2").Range("A2").value = Worksheets("Sheet1").Range("B4").value

3)如果数据不连续,这个也可以工作,但如果要复制的值超过5个则会很麻烦。您可以创建适当的变量(文本字符串,数字的long / int等),在创建新工作表之前设置该变量,然后在创建新工作表后使用它们设置相应的单元格。