Excel中如何用宏把一个工作簿中多个工作表中符合某条件的数据全部复制到另外一个工作簿中。

如图:我某一个工作簿中有十几个相同这种格式的工作表,我需要把这十几个工作表中,所有3月26日的所有这些数据全部复制导一个工作表中,这个宏应该怎么写弄?

写代码不难,下面给一个框架,你适当修改后用:

Option Explicit

Sub å¤åˆ¶æ•°æ®()
    Dim st As Worksheet, st2 As Worksheet, arr, i, n
    Set st2 = Sheets("汇总")
    n = 1
    For Each st In Sheets
        If st.Name <> "汇总" Then
            arr = st.UsedRange
            For i = 1 To UBound(arr)
                If arr(i, 14) = "3月24日" Then
                    st.Rows(i).Copy st2.Rows(n)
                    n = n + 1
                End If
            Next i
        End If
    Next st
End Sub

两个地方要修改,一是汇总表的名称,二是N列如果是日期类型判断语句要改为DateSerial(2019,3,24)

追问

我想请问一下,如果我想取2019年3月一个整个月,那个条件应该怎样设置呢?

追答

11行IF判断修改一下,如果是日期类数据,可以这样写:
IF FORMAT(ARR(I,14),"YYYYMM")="201903" THEN

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-26
你可以把这十几个excel合并一下,不一定非要宏。
相似回答