Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 创建新图纸、复制数据和命名图纸_Vba_Excel_Range_Spreadsheet - Fatal编程技术网

Vba 创建新图纸、复制数据和命名图纸

Vba 创建新图纸、复制数据和命名图纸,vba,excel,range,spreadsheet,Vba,Excel,Range,Spreadsheet,我需要帮助 我希望创建一个按钮,将创建一个新的工作表,复制已输入的数据,并命名该表的值是在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!

我需要帮助

我希望创建一个按钮,将创建一个新的工作表,复制已输入的数据,并命名该表的值是在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
这是为我创建新工作表,将其命名为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  

已经尝试过了,但仍然无法将数据移过??boooommm!谢谢你!