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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2011, 09:01   #1
ПавелАлександрович
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 41
По умолчанию ВПР

Здравствуйте, я использую формулу ВПР для сбора данных из ячеек одного файла в другом по наименованию, но есть проблема, как сделать так чтоб я мог с помощью этой формулы брать значения из другого файла и как то их фиксировать в виде числа а не ссылки для ее неизменности пока я сам не обновлю значения
ПавелАлександрович вне форума Ответить с цитированием
Старый 15.02.2011, 11:52   #2
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

???
Например?
vikttur вне форума Ответить с цитированием
Старый 15.02.2011, 12:14   #3
ПавелАлександрович
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 41
По умолчанию

Как сделать так чтобы ссылки всех команд были скрыты в макросе а в ячейке выводилось бы только число а не ссылка на ячейку или команда



Пример:
Книга1.rar
ПавелАлександрович вне форума Ответить с цитированием
Старый 15.02.2011, 12:27   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Например:
Код:
Public Sub www()
    Dim sh As Worksheet, ws As Worksheet, i&
    Set sh = Sheets(1)
    Set ws = Sheets(2)
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        ws.Cells(i, 3) = sh.Cells(i, 2) - ws.Cells(i, 2)
    Next
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 15.02.2011, 12:38   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Можно макросом поставить формулу, затем заменить её на полученное значение.
Пример, без привязки к файлу:
Код:
Sub Макрос1()
Dim lLastRow As Long
lLastRow = Cells(Rows.Count, 3).End(xlUp).Row
If lLastRow = 1 Then Exit Sub
Cells(lLastRow, 6).FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[-3],Номер_Адрес,2,FALSE)),"""",VLOOKUP(RC[-3],Номер_Адрес,2,FALSE))"
Cells(lLastRow, 6) = Cells(lLastRow, 6)
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.02.2011, 12:46   #6
ПавелАлександрович
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 41
По умолчанию

а можно мне разъяснить как это применить если у мя 2 разных документа и там очень много столбцов и строк и это применимо к 15 к примеру столбцу по 1 столбцу сравнения наименования??????
ПавелАлександрович вне форума Ответить с цитированием
Старый 15.02.2011, 12:50   #7
ПавелАлександрович
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 41
По умолчанию

можно конкретно на примере разобрать чтоб я мог проследить как это работает
ПавелАлександрович вне форума Ответить с цитированием
Старый 15.02.2011, 13:06   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

У Вас есть документ с рабочей формулой (у нас его нет). Переносите эту формулу в макрос, что бы макрос заносил формулу в ячейку, затем заменял на значения.
Только, если Эксель русский, и формула на русском - тогда в макросе пишите FormulaLocal, например:
Range("A1").FormulaLocal = "=ТДАТА()"
Иначе формулу в коде нужно писать в английском варианте.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.02.2011, 13:10   #9
ПавелАлександрович
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 41
По умолчанию

у меня русская версия, можно разобрать на примере книги что я скинул, она конечно бональна, но я хоть смогу проследить алгоритм действия, я просто не программист, а хочу автоматизировать свою таблицу с данными
ПавелАлександрович вне форума Ответить с цитированием
Старый 15.02.2011, 13:12   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Нашёл формулы - хорошо спрятали
У меня версия английская, поэтому код на лист получился например такой:
Код:
Sub obnovitj()
[c2].Formula = "=VLOOKUP(A:A,Лист1!A:B,2,FALSE)-B2"
[c3].Formula = "=VLOOKUP(A:A,Лист1!A:B,2,FALSE)-B3"
[c4].Formula = "=VLOOKUP(A:A,Лист1!A:B,2,FALSE)-B4"
[c2:c4].Value = [c2:c4].Value
End Sub
Должно работать и в русской версии.
Можно в данном случае формулы забивать и автозаполнением, но на 3 можно и так.
Вложения
Тип файла: rar Книга1.rar (7.1 Кб, 12 просмотров)
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 15.02.2011 в 13:33. Причина: добавил файл
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос и ВПР flacon45 Microsoft Office Excel 16 09.02.2011 09:26
ВПР keshechnik Помощь студентам 0 14.11.2010 21:39
Впр keshechnik Microsoft Office Excel 5 14.11.2010 14:39
ВПР Foxx Microsoft Office Excel 2 14.03.2010 16:29
ВПР stas77 Microsoft Office Excel 2 20.01.2010 09:46