2016-04-25 46 views
0

我已經構建了幾個不同行(相同列)的模板,我希望通過更改單元格值來插入和插入這些模板。基於單元格值插入數組作爲模板

因此,如果您將A1更改爲temp1的值,它將從另一張工作表插入「temp1」模板數組(100行)的行/值,並且如果將A101更改爲temp2的值,則會插入行/值另一張紙上的「temp2」模板數組(25行)。

+1

[好](http://stackoverflow.com/help/how-to-ask)。您可能想查看「工作表變更」事件。 – BruceWayne

回答

0

您要求插入行,而不是清理工作表然後粘貼行。

所附Worksheet_Change即使代碼是如何完成您指定的內容的示例...

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim srcSht As Worksheet 
Dim lstRow As Long, lstCol As Long 
Dim srcRng As Range 
Dim tarRng As Range 
If Target.Address = "$A$1" Then 
    Set tarRng = ActiveSheet.Range("A2") 
    If Target.Value = "temp1" Then Set srcSht = Worksheets("Shtemp1") 
    If Target.Value = "temp2" Then Set srcSht = Worksheets("Shtemp2") 
    If srcSht Is Nothing Then Exit Sub 
    lstRow = srcSht.Range("A" & srcSht.Rows.Count).End(xlUp).Row 
    Set srcRng = srcSht.Range(srcSht.Cells(1, 1), srcSht.Cells(lstRow, 1)) 
    srcRng.EntireRow.Copy 
    tarRng.EntireRow.Insert shift:=xlDown 
End If 
Set tarRng = Nothing 
Set srcRng = Nothing 
Set srcSht = Nothing 
End Sub 

下面是Shtemp1的屏幕帽...

enter image description here

。 ..和一個Shtemp2的屏幕蓋...

enter image description here

當「temp1目錄」鍵入到附帶的代碼工作表的單元格A1,你得到這個...

enter image description here

...更改單元格A1到「TEMP2」,你得到這個。 ...

enter image description here