Existe algum motivo específico para você fazer isso com o Python? O Excel pode fazer isso sozinho, com essa macro do VBA:
Sub CombineSheets()
'
' Add three identically-formatted sheets,
' putting the result into a fourth one, and then moving it to a new workbook.
'
Sheets(1).Copy After:=Sheets(3)
Sheets(4).Name = "Combined Counts"
Sheets(2).Select
Cells.Copy
Sheets(4).Select
Range("A1").Select
Selection.PasteSpecial Operation:=xlAdd
Sheets(3).Select
Cells.Copy
Sheets(4).Select
Selection.PasteSpecial Operation:=xlAdd
Sheets(4).Move
End Sub
Isso
- Faz uma cópia completa da primeira folha, colocando-a após a terceira folha.
A nova planilha pode ser subsequentemente referenciada como
Sheets(4)
. Se a primeira folha for chamadaPassenger
, então a nova planilha será inicialmente chamadaPassenger (2)
. - Renomeie a nova planilha
Combined Counts
. - Copie toda a segunda folha e cole-a na nova folha usando a adição. (Esta é a função que você pode acessar interativamente com "Colar" → "Colar especial ..." e, em seguida, selecionando "Adicionar" na seção "Operação". E depois repita com a terceira folha. Dados não numéricos (ou seja, texto) na segunda e terceira planilhas são ignorados. Se a primeira folha tiver texto em uma determinada célula, esse texto persistirá no resultado. mesmo que uma das outras folhas tenha um número aí. (Mas isso não deve ser um problema, já que você diz que as folhas são idênticas em formato.)
- Separe a nova planilha do livro, criando uma nova pasta de trabalho.
Você pode salvar a nova pasta de trabalho e fechar sua janela colocando algo como
Do
fName = Application.GetSaveAsFilename( _
FileFilter:="Excel Workbook (*.xlsx), *.xlsx")
Loop Until fName <> False
ActiveWorkbook.SaveAs Filename:=fName
ActiveWindow.Close
antes do End Sub
.
Ou você poderia obter o nome do arquivo de outra maneira.