cio_new
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору WowGun Дело в том, что Ëèñò1 - это и есть Лист1; Ëèñò2 - это Лист2 Просто после ввода в форму и отправки данных руссие буквы перекодировались и миру стала видна абракадабра. Что делает вышеизложенный скрипт - он формирует новую книгу, переименовывает 1-й и 2-й лист в нужные мне названия, а остальные листы удаляет. Так я и задумал. Но вопрос в другом - мне нужно скопировать диапазон, который я выделил в старой книге, в новую книгу. Это у меня не получается. Подскажите, плз. ЗЫ: что именно не получается: у меня формируется новая книга, но диапазон из старой книги в нее не копируется, листы книги остаются пустыми. ЗЫ2: > 7-я ... ЕСЛИ Вы листы с ТАКИМИ именами НЕ найдете ( а их там НЕТУ!!!) то Вы удалите ВСЕ листы ... Да нет, я удалю только те листы, которые не подпадают под условие выше. Это можно понять, исходя из логики конструкции. Добавлено: cio_new Все, спасибо, реализовал так: With Worksheets(sTab).Range("a1:ea2") Set c = .Find("Import File Generation. PLEASE DO NOT EDIT.", LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address() End If End With With Worksheets(sTab).Range("a5:ea200") Set cc = .Find("n", LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlPrevious) If Not cc Is Nothing Then lastAddress = cc.Address() Do Set cc = .FindNext(cc) Loop While Not cc Is Nothing And cc.Address <> lastAddress End If End With Worksheets(sTab).Range(firstAddress, lastAddress).Copy Dim oWbk As Workbook Dim oWorksheet As Worksheet Application.DisplayAlerts = False Set oWbk = Application.Workbooks.Add() For Each oWorksheet In oWbk.Worksheets If oWorksheet.Name = "Лист1" Then oWorksheet.Name = sTab oWorksheet.Range("a1").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Else oWorksheet.Delete End If Next oWbk.SaveAs Filename:= _ sPathcsv & "\" & sTab & " v1.0.csv", _ FileFormat:=xlCSV, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False oWbk.Close (True) Sheets(sTab).Select Sheets(sTab).Copy ActiveWorkbook.SaveAs Filename:= _ sPath & "\" & sTab & " v1.0.xls", _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWorkbook.Close (True) |