Страницы: 1
RSS
Разбить .xls файл на несколько файлов с сохранением
 
Здравствуйте, на листе qword исходные данные, их нужно разбить на файлы такого вида как на Листе1. Сохранять файлы можно в ту же папку где находится исходный или макрос. Ещё их нужно именовать, первыми словами до перовго слэша, например ООО Кор.xls , ОАО "облавтотранс"филиал "АП №1"г.орск.xls
 
Вы хотите, чтобы вам полностью макрос написали?
Или не знаете с чего начать и как в принципе это делать?
Изменено: CrazyRabbit - 07.04.2017 15:45:19
 
CrazyRabbit, если макрос для такой задачи не сложно написать, то полностью было бы замечательно
 
В момент запуска макроса активным листом должен быть лист, из которого копируются данные.
Скрытый текст
Изменено: Karataev - 07.04.2017 16:26:00
 
Код
Sub qwe()
            Application.ScreenUpdating = False
            Application.Calculation = xlCalculationManual
Dim w1 As Worksheet: Set w1 = ThisWorkbook.Sheets("qword")
Dim w2 As Worksheet: Set w2 = ThisWorkbook.Sheets("Ëèñò1")
Dim i As Long
    i = w1.Cells(Rows.Count, 1).End(xlUp).Row
    w2.Cells.Clear
    w1.Range("A1:G8").Copy w2.Cells(1, 1)
    
    For n = 9 To i
        If w1.Range("K" & n) = "Ãîðîä ÀÂ" Then
            w2.Cells.Clear
            w1.Range("A1:G8").Copy w2.Cells(1, 1)
            q = n + 1
            Do While w1.Range("D" & q + 1) = w1.Range("D" & n + 1)
                q = q + 1
            Loop
            w1.Range("A" & n & ":G" & q).Copy w2.Range("A9")
            Name = ""
                Z = Len(w1.Range("A" & n))
                For zz = 1 To Z
                    If Mid(w1.Range("A" & n), zz, 1) = "/" Then Exit For
                    If Mid(w1.Range("A" & n), zz, 1) <> "¹" And Mid(w1.Range("A" & n), zz, 1) <> Chr(34) And Mid(w1.Range("A" & n), zz, 1) <> "'" Then
                        Name = Name & Mid(w1.Range("A" & n), zz, 1)
                    End If
                Next zz
            
'            ThisWorkbook.SaveAs Filename:="C:\Desktop\" & Name & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
            ActiveWorkbook.SaveAs Filename:="C:\Users\gizhunov_a\Desktop\" & Name & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
        End If
    Next n
            Application.ScreenUpdating = True
            Application.Calculation = xlCalculationAutomatic
End Sub
 
Karataev,спасибо, работает замечательно, не подскажете как менять формат сохраняемого файла?

CrazyRabbit, сохранило файл с макросом под другим именем а другие файлы не создало.
 
wfreedom, какой формат должен быть у файла-результата? Просто если Вы вообще не знаете VBA, то не знаю, сможете ли Вы сами сделать.
 
Цитата
wfreedom написал:
как менять формат сохраняемого файла?
- включаете рекордер, проделываете операцию сохранения файла, выключаете рекордер - ответ в записанном макросе.
Страницы: 1
Наверх