0
我想創建一個按鈕,添加一個新的工作表,並從工作表中提取數據(「數據」),以新的工作表(「報告」)VBA Excel中添加新的工作表並刪除了原始
然而,如果我按一下按鈕一次它將出現錯誤「複製工作表名」
因此,我想補充的功能在我的原代碼,如果工作表名稱「報告」 存在,則刪除它在其他產生那個報告。
但我不知道如何修改它在我的原代碼 而我不能確定我是否需要一個新的每個循環
Private Sub CommandButton3_Click()
Dim rng As Range
Dim ss As Range, cel As Range
Dim yesno As Range
Dim lastrow As Long
//looking for the last row of the data
Dim tws As Worksheet
Dim tlr, i&
Set wks = Sheets("Data")
With wks
lastrow = .Range("A3").End(xlDown).Row
Set yesno = .Range("AX3:AX" & lastrow)
Set tws = Worksheets.Add(after:=
Sheets(Worksheets.Count))
tws.Name = ("report")
//fetch the first row as the title
Set rng = Union(.Range("B1"),
.Range("F1"),
.Range("G1"),
.Range("H1"),
.Range("N1"),.Range(".O1"), .Range("Q1"),
.Range("U1"),.Range("W1"))
rng.Copy tws.Range("A1")
//fetec the data with condition
For Each ss In yesno
If LCase(ss.Cells.Value) = "Yes" And
LCase(ss.Cells.Offset(0, -31).Value) = "trigger"
And
LCase(ss.Cells.Offset(0, -47).Value) = "trigger"
Then
Set rng = Union(.Range("B" & ss.Row),
.Range("F" & ss.Row),
.Range("G" & ss.Row), .Range("H" & ss.Row),
.Range("N" & ss.Row),
.Range("O"& ss.Row), .Range("Q" & ss.Row),
.Range("U" & ss.Row),
.Range("W" & ss.Row))
tlr = tws.Range("A" &
tws.Rows.Count).End(xlUp).Offset(1).Row
rng.Copy tws.Cells(tlr, "A")
ElseIf LCase(ss.Cells.Value) = "No" Then
End If
Next
End With
End Sub