VBA创建、重命名并粘贴到新图纸中
我是VBA新手 我正在寻找创建一些代码,将过滤一个表的副本,然后粘贴到一个新的工作表,而新的工作表已被重命名为今天的日期,然后再次隐藏现有的工作表。这是需要每周和可能每天 到目前为止我有VBA创建、重命名并粘贴到新图纸中,vba,excel,Vba,Excel,我是VBA新手 我正在寻找创建一些代码,将过滤一个表的副本,然后粘贴到一个新的工作表,而新的工作表已被重命名为今天的日期,然后再次隐藏现有的工作表。这是需要每周和可能每天 到目前为止我有 Sub test2() ' ' test2 Macro ' ' ActiveSheet.ListObjects("Pipeline").Range.AutoFilter Field:=1, Criteria1:= _ "<>" Range("Pipeline[
Sub test2()
'
' test2 Macro
'
'
ActiveSheet.ListObjects("Pipeline").Range.AutoFilter Field:=1, Criteria1:= _
"<>"
Range("Pipeline[[#Headers],[FC]]").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Dim SheetName As String
SheetName = Format(Date, "dd-mm-yyyy") 'Change the format as per your requirement
Sheets.Add , Worksheets(Worksheets.Count)
ActiveSheet.Name = SheetName
End Sub
子测试2()
'
'测试2宏
'
'
ActiveSheet.ListObjects(“管道”).Range.AutoFilter字段:=1,Criteria1:=_
""
范围(“管道[#标题],[FC]]”。选择
范围(选择,选择。结束(xlDown))。选择
范围(选择,选择。结束(xlToRight))。选择
选择,复制
将SheetName设置为字符串
SheetName=格式(日期,“dd-mm-yyyy”)'根据您的要求更改格式
工作表。添加,工作表(工作表。计数)
ActiveSheet.Name=SheetName
端接头
这将筛选表中的范围并进行复制,还将创建新工作表。但是,我如何进入新的工作表,然后再次隐藏工作表。理想情况下,我认为代码需要先取消隐藏工作表。工作表名称为FC\u管道
非常感谢您的帮助。谢谢
Ted这是隐藏并创建包含今天日期的新工作表
Sub Makro()
Dim currentSheet As String
currentSheet = ActiveSheet.Name
Dim SheetName As String
SheetName = Format(Date, "dd-mm-yyyy")
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = SheetName
Sheets(currentSheet).Visible = False
End Sub
我想代码应该是这样的
Sub test2()
Dim Ws As Worksheet, newWs As Worksheet
Dim SheetName As String
Set Ws = ActiveSheet
ActiveSheet.ListObjects("Pipeline").Range.AutoFilter Field:=1, Criteria1:="<>"
SheetName = Format(Date, "dd-mm-yyyy") 'Change the format as per your requirement
Sheets.Add , Worksheets(Worksheets.Count)
ActiveSheet.Name = SheetName
Set newWs = ActiveSheet
Ws.Range("Pipeline[#All]").SpecialCells(xlCellTypeVisible).Copy newWs.Range("a1")
Ws.Visible = xlSheetHidden
End Sub
子测试2()
将Ws设置为工作表,将newWs设置为工作表
将SheetName设置为字符串
设置Ws=ActiveSheet
ActiveSheet.ListObjects(“管道”).Range.AutoFilter字段:=1,Criteria1:=
SheetName=格式(日期,“dd-mm-yyyy”)'根据您的要求更改格式
工作表。添加,工作表(工作表。计数)
ActiveSheet.Name=SheetName
设置newWs=ActiveSheet
Ws.Range(“管道[#所有]”).SpecialCells(xlCellTypeVisible)。复制新的Ws.Range(“a1”)
Ws.Visible=xlSheetHidden
端接头
我一步一步地浏览了代码,它一直工作到这一点Ws.Range(“Pipeline[#All]”)。复制newWs.Range(“a1”)Ws.Visible=xlSheetHidden
它似乎在粘贴整个工作表,而不是按照此代码粘贴选定的部分ActiveSheet.ListObjects(“Pipeline”)。Range.AutoFilter字段:=1,Criteria1:=\u0范围(“管道[#标题],[FC]]”。选择范围(选择,选择。结束(xlDown))。选择范围(选择,选择。结束(xlToRight))。选择选择。复制