我是Excel VBA中的新成員。我想根據單元格值插入單元格的數量。Excel VBA:根據單元值插入N張表格
我有sheet1,我想使用b4作爲插入張數(這是一個模板)的參考。
例如,如果b4 = 4的值,我想複製模板4次。
我該怎麼做vba?
謝謝。 :)
我是Excel VBA中的新成員。我想根據單元格值插入單元格的數量。Excel VBA:根據單元值插入N張表格
我有sheet1,我想使用b4作爲插入張數(這是一個模板)的參考。
例如,如果b4 = 4的值,我想複製模板4次。
我該怎麼做vba?
謝謝。 :)
沒有魔法,在一個循環中逐個創建它們,將每個新的一個放在最後。編輯:您還想重新命名他們1,2,3,4,..所以:
Sub CreateSheets()
Dim i As Long
With ThisWorkbook.Sheets
For i = 1 To Sheet1.Range("B4").Value2
.Item("Template").Copy After:=.Item(.Count)
.Item(.Count).Name = i
Next
End With
End Sub
像這樣的東西應該工作:
Sub copySheets()
Dim i As integer
Dim n As integer 'the amount of sheets
n = Cells(4, 2).Value 'b4
For i = 2 To n
If ActiveWorkbooks.Worksheets.Count < n Then 'Makes sure the sheets exists
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets.Add(After:= _
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
End If
ws1.Copy ThisWorkbook.Sheets(Sheets.Count) 'copy data
Next i
End Sub
非常感謝你。 –
夥計們,另外,我想用我作爲工作表的原點值。並將其用於另一系列代碼。但是我得到一個編譯:不匹配錯誤。我錯過了什麼? –
或者這樣的事情...
Sub CopyTemplate()
Dim ws As Worksheet, wsTemplate As Worksheet
Dim n As Integer, i As Long
Application.ScreenUpdating = False
Set ws = Sheets("Sheet1")
Set wsTemplate = Sheets("Template") 'Where Template is the name of Template Sheet, change it as required.
n = ws.Range("B4").Value
If n > 0 Then
For i = 1 To n
wsTemplate.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i
Next i
End If
Application.ScreenUpdating = True
End Sub
完美運作。 :) 非常感謝。 –
@LiezlMaigue不客氣。很高興按照期望工作。 :) – sktneer
此外,我想使用我作爲工作表的來源的價值。並將其用於另一系列代碼。但是我得到一個編譯:不匹配錯誤。我錯過了什麼? –
如果我想將每個副本重命名爲1,2,3 ...,那麼怎麼辦?我怎麼做?謝謝。 :) –
@LiezlMaigue沒關係,爲此添加了一行。 –
謝謝。如果我想使用i作爲工作表的原點值,該怎麼辦?並將其用於另一系列代碼。我的代碼是什麼? –