创建一个新的 sheet,复制数据并命名 sheet
Creating a new sheet, copying data and naming the sheet
我需要帮助!
我想创建一个按钮来创建新作品sheet,复制已输入的数据并将 sheet 命名为在 F5 中输入的值。
到目前为止我有这个:
Sub CreateNewSheet()
sheet_name_to_create = Sheet1.Range("F5").Value
For rep = 1 To (Worksheets.Count)
If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then
MsgBox "Already Exists!"
Exit Sub
End If
Next
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(ActiveSheet.Name).Name = sheet_name_to_create
End Sub
这是为我创建新的 sheet,将其命名为 F5 中的值。
但我需要复制范围 C4:G17
有人可以帮我吗?
谢谢
您可以尝试下一个代码:
Sub CreateNewSheet()
sheet_name_to_create = Sheet1.Range("F5").Value
Sheet1.Range("C4:G17").Copy
For rep = 1 To (Worksheets.Count)
If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then
MsgBox "Already Exists!"
Exit Sub
End If
Next
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(ActiveSheet.Name).Name = sheet_name_to_create
Sheets(sheet_name_to_create).Range("C4:G17").PasteSpecial xlPasteValues
End Sub
试试这个:
Sub copy_newsheet()
Dim pname
Dim ws As Worksheet
pname = ActiveSheet.Range("F5").Value
For Each ws In ActiveWorkbook.Sheets
If ws.Name = pname Then
MsgBox "Already Exists"
Exit Sub
End If
Next ws
ActiveSheet.Range("C4:G17").Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Range("C4:G17").PasteSpecial Paste:=xlPasteValues
ActiveSheet.Range("C4:G17").PasteSpecial Paste:=xlPasteFormats
ActiveSheet.Name = pname
End Sub
我需要帮助!
我想创建一个按钮来创建新作品sheet,复制已输入的数据并将 sheet 命名为在 F5 中输入的值。
到目前为止我有这个:
Sub CreateNewSheet()
sheet_name_to_create = Sheet1.Range("F5").Value
For rep = 1 To (Worksheets.Count)
If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then
MsgBox "Already Exists!"
Exit Sub
End If
Next
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(ActiveSheet.Name).Name = sheet_name_to_create
End Sub
这是为我创建新的 sheet,将其命名为 F5 中的值。 但我需要复制范围 C4:G17
有人可以帮我吗?
谢谢
您可以尝试下一个代码:
Sub CreateNewSheet()
sheet_name_to_create = Sheet1.Range("F5").Value
Sheet1.Range("C4:G17").Copy
For rep = 1 To (Worksheets.Count)
If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then
MsgBox "Already Exists!"
Exit Sub
End If
Next
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(ActiveSheet.Name).Name = sheet_name_to_create
Sheets(sheet_name_to_create).Range("C4:G17").PasteSpecial xlPasteValues
End Sub
试试这个:
Sub copy_newsheet()
Dim pname
Dim ws As Worksheet
pname = ActiveSheet.Range("F5").Value
For Each ws In ActiveWorkbook.Sheets
If ws.Name = pname Then
MsgBox "Already Exists"
Exit Sub
End If
Next ws
ActiveSheet.Range("C4:G17").Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Range("C4:G17").PasteSpecial Paste:=xlPasteValues
ActiveSheet.Range("C4:G17").PasteSpecial Paste:=xlPasteFormats
ActiveSheet.Name = pname
End Sub