首页 文章

将数据行从一个工作表复制到另一个工作表,其中目标工作表按日期命名[关闭]

提问于
浏览
0

我将信息存储在一张Excel 2010工作簿中,其中一列包含日期 . 我想要一个宏,它将按日期对此信息进行分组,并将其复制到同一工作簿中的其他工作表,我之前已经设置并按这些日期命名 .

所以我在名为“Source”的工作表上有这些信息:

Date         First Name  Last Name  Hair Colour
01/02/2011   Bob         Jones      Brown
02/05/2011   Geoff       Smith      Red
03/09/2010   Craig       Hamilton   Blond
02/05/2011   Chris       Wazowski   Brown
05/06/2011   Steve       Mac        Blond
03/09/2010   Tom         Lounds     Brown

我还有另外四张,名为:“2011年2月1日”,“2011年5月2日”,“2010年9月3日”和“2011年6月5日”

我想要一个宏,它将复制 Headers ,以及从“源”表中将具有这些日期的整行作为相应的表格 .

数据不断被添加到“源”表中,因此这是我需要经常重复的操作 .

我知道这个网站上有很多代码,它们显示了如何按条件将信息分组和复制到其他工作表,但我还没有找到一个以这种方式工作的代码 .

2 回答

  • 2

    这是一个如何在 Date (第一列中的数据)和 String 之间来回转换的示例,其格式与工作表名称相同 .

    Dim d As Date
    Dim sheetName As String
    
    d = CDate("01/02/2011") ' or e.g. Range("A2").Value
    sheetName = Format(d, "dd mmm yyyy")
    
    Debug.Print sheetName ' 01 Feb 2011
    

    至于其他方面,正如你自己指出的那样,在这个网站上已经回答了大量类似的问题,并提供与你几乎完全相同的问题的解决方案 . 一旦你尝试了一些东西,如果你遇到任何具体的问题,请告诉我们 .

  • 0

    谢谢Jean-Francois .

    我找到了一个可以很好地工作的解决方案,虽然我不完全确定如何或为什么:

    Sub Update_Sheets()
    
    'Formats dates
    Dim rng As Range
    Dim rngA As Range
    
    Set rngA = Range("A1:A" & Range("A" & Range("A:A").Rows.Count).End(xlUp).Row)
    rngA.NumberFormat = "@"
    For Each rng In rngA
        rng.Value = Format(rng, "dd mmm yyyy")
    Next rng
    
    
    'Copies rows of data to the right sheets
    Dim ws As Worksheet, source As Range, dest As Range
    Dim daily As Worksheet
    Set daily = Worksheets("Source")
    Application.ScreenUpdating = False
    On Error Resume Next
    For Each ws In Worksheets
    If ws.Name <> daily.Name Then
    daily.Range("A1").AutoFilter Field:=1, Criteria1:=ws.Name
    Set source = daily.Range("A1").CurrentRegion.Offset(1, 0).SpecialCells(xlVisible)
    Set dest = Worksheets(ws.Name).Range("A65536").End(xlUp).Offset(1, 0)
    source.Copy dest
    End If
    Next
    daily.Range("A1").AutoFilter
    On Error GoTo 0
    
    End Sub
    

相关问题