-2

Здравствуйте! Мне удалось создать новые таблицы на основе уникальных значений в столбце. В дополнение к этому, я хочу суммировать значения в столбце и включить эту сумму в имя файла каждого соответствующего рабочего листа.

Я хочу, чтобы сумма значений в столбце D была добавлена к имени файла этой книги в формате Filename_Sum(D).xls.

Это то, что я сделал, все, что мне нужно, это сделать сумму в столбце I2:I, преобразовать сумму в строку и включить в имя файла (значение в столбце 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'

1 ответ1

0

Я предполагаю, что вы ничего не знаете о VBA или макросах, поэтому вот самое короткое количество шагов, чтобы сделать то, что вы ищете:

Откройте вашу рабочую книгу. На клавиатуре нажмите Alt + F11. Откроется экран разработчика VBA. Слева находится дерево, щелкните правой кнопкой мыши верхний объект (VBAProject (YourFileName)) и выберите «Вставка»> «Модуль». В открывшемся модуле на главном экране вставьте этот код:

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

Затем нажмите Сохранить. Он подскажет вам, что ваш текущий формат файла (.xlsx) может выполнять макросы. Выберите нет и сохраните ваш файл как YourFile.xlsm.

Вы сделали! Полученный файл будет C:\YourFolder\YourFilename ##. Xlsx.

Этот скрипт сохранит все переименованные файлы как файлы .xlsx, которые НЕ МОГУТ снова запустить макрос (на самом деле он исчезнет с экрана разработчика). Если вы хотите сохранить файлы как файлы .xlsm и позволить сценарию продолжить работу и в сохраненных файлах, измените «.xslx» на «.xlsm» и измените FileFormat на 52.

Вы можете создать кнопку на рабочем листе, которая ссылается на макрос (в этом поможет быстрый поиск в Google), или просто запустить макрос, выбрав View> Macros и запустить его оттуда.

Убедитесь, что Sheet1! изменяется в соответствии с вашим рабочим листом. Удачи!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .