Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Массовый импорт данных
 
Уважаемые гуру,  
 
Извините что я к Вам такой молодой обращаюсь, но назрела проблемка над которой я уже бьюсь второй день.  
 
Значит задача следующая:  
Есть папка в которой содержиться 49 файлов Екселя. В каждом файле есть 3 листа (Inventarisatie, Subdistributie, Lists). Мне нужно из этих файлов импортировать по 2 листа (Inventarisatie и Subdistributie) в новый файл. Задача усложняется тем, что в некоторых ячейках есть более 255 знаков, тоесть можно только копировать значения и вставлять на новый лист.    
 
Проблема:  
На данный момент использую макрос, объединяющий действия открытия всех файлов в определенной папке, Копирования диапазона, создания нового листа, вставка значений (и формата), переименования листа, и закрытия всех исходных 49 файлов (код макроса в прикрепленом файле). Всё работает, но есть одно но! Я смог сделать чтобы копировало (назовем это так) один лист. Но как сделать чтобы те же действия происходили и с другим листом в исходном файле?  
 
При записи действий макрорекордером он ссылается на другой файл с указанием его имени в коде. Это не очень удобно.  
 
Конечно можно пойти более простым путем и сделать обработку данных с поочередным открытием файлов (с указанием их имен). Но тогда получится очень объемный и не красивый код.  
 
Сорри за много буков. Надеюсь суть изложил понятно.  
Заранее спасибо.  
 
С уважением,  
SpagoR
Закрытие всех книг кроме активной
 
Ребят, как можно макросом закрыть все книги кроме активной?  
 
Просто при работе предыдущего макроса открывает 50 книг, обрабатывает информацию из них и потом они остаются открытыми.    
 
Мне же нужно их закрыть и продолжить работу над активным файлом
Импорт документа без лишних вопросов
 
Собственно сабж.  
 
Успешно используюю нижепривиденный макрос для импорта определенных листов из других книг в текущую  
 
Sub Import_Allfunds()  
' Import_AllFunds Macro  
Dim sFolder, li As Long  
   sFolder = Application.GetOpenFilename("XLS Files(*.xl*),*.xl*", , "Chose an Allfunds File", "Chose", True)  
   On Error GoTo GetCode  
   If sFolder = False Then Exit Sub  
GetCode:  
   Application.ScreenUpdating = False  
   For li = 1 To UBound(sFolder)  
       Workbooks.Open sFolder(li)  
   Next li  
   Application.ScreenUpdating = True  
Sheets("Lux EUR").Copy Before:=Workbooks("RFU023.xls").Sheets(1)  
For Each wb In Workbooks  
If wb.Name Like "All Funds*" Then  
wb.Close savechanges:=False  
End If  
Next  
   Sheets("Data Management").Select  
End Sub  
 
Но для одного из документов появилась проблемка. При попытке импорта одного из листов выскакивает диалоговое окно:  
 
 
И так несколько раз с разными именами. При этом, если все время нажимать Yes, то импортируется тот лист что нужно и всё остальное работает ок.    
 
Можно как-то избавиться от этого диалогового окна?    
Что-то менять в файле с которого импортируется - не вариант, так как файл каждый месяц присылается другим отделом, который нам не подвластен.  
 
Заранее благодарю.
Длинная формула в макросе
 
Ребята, очень сильно нуэна помощь.  
 
Черех макросрекордер записываю записываю формулу следующего вида:  
 
"=(SUMIF('Country Weights'!R11C1:R50C2,""Italy"",'Country Weights'!R11C:R50C)+SUMIF('Country Weights'!R11C1:R50C2,""Spain"",'Country Weights'!R11C:R50C)+SUMIF('Country Weights'!R11C1:R50C2,""Greece"",'Country Weights'!R11C:R50C)+SUMIF('Country Weights'!R11C1:R50C2,""Ireland"",'Country Weights'!R11C:R50C)+(SUMIF('Country Weights'!R11C1:R50C2,""Portugal"",'Country Weights'!R11C:R50C))/100"  
 
Как только заканчиваю писать, выскакивает окно: Cannot Record.  
 
Я полагаю что слищком длинная формула. Как её можно укоротить/разбить на строки?  
Знаю что VisualBasic как-то может переносить строки через "_". Но самостоятельно у меня ничего не получается.    
 
Office 2003  
 
Заранее благодарен
Страницы: 1
Наверх