在Excel

时间:2017-10-20 07:38:30

标签: excel vba excel-vba

我制作了一个宏,允许我将工作簿合并到一个工作表中。目前,它复制数据,只是替换之前的数据。我希望宏能够比较新旧数据,而不仅仅是替换它。例如:

如果旧数据为0且新数据为1,则写入1.同样,0 + 0 = 0且1 + 1 = 1。

这里是宏:

Sub MergeSelectedWorkbooks()
    Dim SummarySheet As Worksheet
    Dim FolderPath As String
    Dim SelectedFiles() As Variant
    Dim NRow As Long
    Dim FileName As String
    Dim NFile As Long
    Dim WorkBk As Workbook
    Dim SourceRange As Range
    Dim DestRange As Range

    Set SummarySheet = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
    FolderPath = " "
    ChDrive FolderPath
    ChDir FolderPath
    SelectedFiles = Application.GetOpenFilename( _
    NRow = 1
    For NFile = LBound(SelectedFiles) To UBound(SelectedFiles)
    FileName = SelectedFiles(NFile)
    Set WorkBk = Workbooks.Open(FileName)
    Application.Run WorkBk.Name & "!Bouton1_Cliquer"
    SummarySheet.Range("A" & NRow).Value = FileName
    Set SourceRange = WorkBk.Worksheets(1).Range("A1:MB503")
    Set DestRange = SummarySheet.Range("A" & NRow)
    Set DestRange = DestRange.Resize(SourceRange.Rows.Count, _
       SourceRange.Columns.Count)
    DestRange.Value = SourceRange.Value
    WorkBk.Close savechanges:=False
    Next NFile
    SummarySheet.Columns.AutoFit
End Sub

非常感谢任何帮助!

0 个答案:

没有答案