作者:手机用户2502903715 | 来源:互联网 | 2023-09-24 15:31
因此,我设法获取了此宏以创建新的工作表,从单元格值命名工作表,并将一些行复制到新创建的工作表中。
问题是我需要使用宏为找到的每个新工作订单号创建工作表。然后,它需要复制其中包含该工作订单号的行。它还需要使用在A列中找到的任何新工作订单号来命名工作表(找到123456,它创建一个名为123456的新工作表,并复制A列中列出的所有123456的行,直到找到123457等)。
下面的代码中的范围已设置,它们需要考虑变化的范围。我尝试过:
Set Range = .Range("A2",.Range("A2").End(xlDown).End(xlToRight)
它永远不能编译它并抛出错误“超出范围”。
这是将创建一个新工作表的代码,将其命名为A3中找到的值,然后复制指定范围内的行。
Sub copy_newsheet()
Dim pname As String
Dim ws As Worksheet
Dim cell As Range
Dim variable_one As Integer
cell = ("A2:f17")
variable_One= 12345
pname = activeSheet.Range("A3").Value
For Each ws In activeWorkbook.Sheets
If ws.Name = pname Then
MsgBox "NOPE"
Exit Sub
End If
Next ws
activeSheet.Range("A1:F7").Copy
Sheets.Add After:=activeSheet
activeShKeet.Range("A1:F7").PasteSpecial Paste:=xlPasteValues
activeSheet.Range("A1:F7").PasteSpecial Paste:=xlPasteFormats
activeSheet.Name = pname
感谢所有输入。我对样本数据的原始疑问可以在这里找到:How do I make this macro create a new sheet after comparing values to a set variable?
谢谢!