Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 08:46   #1
Алабор
Пользователь
 
Регистрация: 14.03.2011
Сообщений: 17
По умолчанию "=VLOOKUP"

Суть: из таблицы общих данных выбираем записи по конкретному столбику и сохраняем отдельным файлом.
Ошибка: ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-4],'[_Исходные данные.xls]list1 '!C1:C6,5,0)*RC[-1]" при явнозаданном имени файла все работает нормально, но при замене на DataFile (путь до файла с исходными данными)
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-4],'[&DataFile&]list1 '!C1:C6,5,0)*RC[-1]" при выполнении макроса выскакивает сообщение "Обновить значения &DataFile&" и приходится многократно указывать файл с исходными данными.
Помогите исправить

Листинг:
Sub WorkBook_Open()
iTimer! = Timer
DataFile = Application.GetOpenFilename
Workbooks.Open Filename:=DataFile
On Error Resume Next
'обработка данных
Set sh = ActiveSheet
lLastColl = Cells(1, Columns.Count).End(xlToLeft).Column
For i = 8 To lLastColl
FName = "" & CurDir & "\" & Cells(1, i) & ".xls" & "" 'имя файла для открытия
Columns(i).Select
Selection.AutoFilter Field:=i, Criteria1:="<>"
'On Error Resume Next
Set sh = ActiveSheet
nR = sh.AutoFilter.Range.Rows.Count
Range(Cells(3, 1), Cells(nR, i)).Select
Selection.Copy ' копируем выделенное
Workbooks.Add 'создаем новую книгу
Range("A2").Select ' ячейка начала вставки
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False ' вставка только значений без формул
Range("A1").Select
ActiveCell.FormulaR1C1 = "Код СК-МТР"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Наименование"
Range("C1").Select
ActiveCell.FormulaR1C1 = "Е.И."
Range("D1").Select
ActiveCell.FormulaR1C1 = "Кол-во"
Columns(4).Select
Selection.NumberFormat = "#,##0.00"
Columns(5).Select
Selection.NumberFormat = "#,##0.00"
Range("E1").Select
ActiveCell.FormulaR1C1 = "Сумма"
Range("F1").Select
ActiveCell.FormulaR1C1 = "Примечание"
Range("E3").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-4],'[&DataFile&]list1 '!C1:C6,5,0)*RC[-1]" '[_Исходные данные.xls]
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
Selection.AutoFill Destination:=Range(Cells(3, 5), Cells(lLastRow, ActiveCell.Column))
Columns("E").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Cells(lLastRow + 1, ActiveCell.Column).Select
ActiveCell.FormulaR1C1 = "=SUM(R" & lLastRow & "C:R3C5)"
Range("F1", Cells(Rows.Count, 1).End(xlUp)).Select
With Selection
.Borders.LineStyle = xlContinuous
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
.EntireColumn.AutoFit
End With
ActiveWorkbook.SaveAs Filename:= _
FName, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
sh.Activate
Worksheets(sh.Name).Activate
Selection.AutoFilter Field:=i
Columns(i).Select
Selection.EntireColumn.Hidden = True
Next
ActiveWorkbook.Close False
MsgBox "Время выполнения макроса составило " & _
Timer - iTimer! & " сек.", vbExclamation, ""
End Sub
Вложения
Тип файла: zip Отчет.zip (178.3 Кб, 7 просмотров)
Алабор вне форума Ответить с цитированием
Старый 16.12.2011, 10:09   #2
Алабор
Пользователь
 
Регистрация: 14.03.2011
Сообщений: 17
По умолчанию

Вопрос снят.

"=VLOOKUP(RC[-4],'" & DataFile & " '!C1:C6,5,0)*RC[-1]"
Алабор вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04