somar os valores em uma coluna e adicionar a soma ao nome do arquivo de uma pasta de trabalho

somar os valores em uma coluna e adicionar a soma ao nome do arquivo de uma pasta de trabalho

Olá, consegui criar novas planilhas com base em valores únicos em uma coluna. Além disso, quero somar os valores em uma coluna e incluir essa soma no nome do arquivo de cada planilha correspondente.

Quero que a soma dos valores na coluna D seja adicionada ao nome do arquivo desta pasta de trabalho no formato Filename_Sum(D).xls

Isso é o que eu fiz, tudo que preciso é fazer a soma da Coluna I2:I, converter a soma em uma String e incluir no nome do arquivo (o valor na coluna A)

            'Copy/paste the visible data to the new workbook
            My_Range.SpecialCells(xlCellTypeVisible).Copy
            With WSNew.Range("A1")
                ' Paste:=8 will copy the columnwidth in Excel 2000 and higher
                ' Remove this line if you use Excel 97
                .PasteSpecial Paste:=8
                .PasteSpecial xlPasteValues
                .PasteSpecial xlPasteFormats
                Application.CutCopyMode = False
                .Select                  

            End With

            mySum = Application.WorksheetFunction.Sum(Columns("I2:I1024"))


            'Save the file in the new folder and close it
            On Error Resume Next
            WSNew.Parent.SaveAs foldername & _
                                cell.Value _
                                & CStr(mySum) & _
                                FileExtStr, FileFormatNum'

Responder1

Presumo que você não saiba nada sobre VBA ou macros, então aqui estão as etapas mais curtas para fazer o que você está procurando:

Abra sua pasta de trabalho. No teclado, pressione alt + F11. Isso abrirá a tela do desenvolvedor VBA. À esquerda há uma árvore, clique com o botão direito no objeto superior (VBAProject(YourFileName)) e selecione Inserir > Módulo. No módulo que abriu, na tela principal cole este código:

Option Explicit
Sub SaveWithSum()
Dim SumOfD As Integer
SumOfD = Application.Sum(Range("Sheet1!D:D"))
ActiveWorkbook.SaveAs "C:\YourFolder\YourFilename" & SumOfD & ".xlsx", FileFormat:=51
End Sub

Em seguida, clique em salvar. Ele avisará que seu formato de arquivo atual (.xlsx) pode executar macros. Selecione não e salve seu arquivo como YourFile.xlsm.

Você Terminou! O arquivo resultante será C:\YourFolder\YourFilename##.xlsx.

Este script salvará todos os arquivos renomeados como arquivos .xlsx que NÃO PODEM executar a macro novamente (na verdade, ela desaparecerá da tela do desenvolvedor). Se você deseja salvar os arquivos como arquivos .xlsm e deixar o script continuar sendo executado nos arquivos salvos também, altere ".xslx" para ".xlsm" e altere o FileFormat para 52.

Você pode criar um botão na planilha vinculado à macro (uma rápida pesquisa no Google ajudará com isso) ou apenas executar a macro selecionando Exibir> Macros e executá-la a partir daí.

Certifique-se de que a Folha1! é alterado para corresponder à sua planilha. Boa sorte!

Responder2

Embora a pergunta tenha sido postada há alguns anos, gostaria de fornecer uma resposta para outras pessoas que buscam uma solução:

Sub save_with_value()

Dim Fname As String
Dim cell As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False         'replaces existing file if already exists

Fpath = "O:\TEST\Values\"  'folder path - change accordingly to your folder
Fname = »Filename« 
Dim result As Double
result = WorksheetFunction.Sum(Range("D:D")) 
ActiveWorkbook.SaveAs Filename:= _
        Fpath & "\" & Fname & "_" & Format(result, "#,##0.00") & " EUR" & ".xlsx"

End sub

informação relacionada