Консультация № 32318
28.12.2005, 07:18
0.00 руб.
0 2 2
Есть два файла, пусть 1.xls и 2.xls. В первом файле есть таблица из 10 столбцов и меняющимся количеством строк. Каждый день в эту таблицу добавляется новая строка.(их не более1000).
Нужно в одну из ячеек файла 2 внести значение из последней ячейки одного из столбцов, например F файла 1. Обязательно последней, так как количество строк изменяется каждый день.
Какую формулу я должен написать для ячейки файла 2, чтобы, связать эти ячейки.

Обсуждение

Неизвестный
28.12.2005, 10:42
общий
это ответ
Здравствуйте, Zmej_V!
Формулой вы не обойдетесь никак. Т.к формулы работают только в пределах одного документа.Но есть альтернатива прога(макрос) на VB.Один такой подобный етому я скоро сделаю, как по свободней буду. Если не найдете способа все скидывать в один файл(я думаю что как поступить в таком случае вы знаете), тогда напишите мне и я вам тож такое дам.
Неизвестный
28.12.2005, 22:58
общий
это ответ
Здравствуйте, Zmej_V!
Пока другие ищут свободное время вот Вам макрос.
Запусткаете файл 2.xls заходите Сервис - Макросы - Редактор Visual Basic.
Справа находите VBA Project (2.xls). Нажимаете правой кнопкой мыши на названии и выбираете Insert - Module.
В открывшемся окне вставляете текст, написанный между знаками ======, сами знаки не вставляете.
===================
Sub DefineValue()
Dim strRange As String
Dim Colums As String
Dim КнигаТекущая
Dim ЛистТекущий

КнигаТекущая = Application.ActiveWorkbook.Name
ЛистТекущий = Application.ActiveSheet.Name

Colums = InputBox("Введите номер столбца", "Ввод данных", "F")
ИЗМЕНИТЬ БУКВУ СТОЛБЦА НА СВОЮ ^

strRange = Colums & "1"
‘Переходим к Книге1 - ИЗМЕНИТЬ НАЗВАНИЕ НА СВОЕ
Windows("Книга1.xls").Activate
‘Переходим к Лист1 - ИЗМЕНИТЬ НАЗВАНИЕ НА СВОЕ
Sheets("Лист1").Select
‘Находим первую строку заданного столбца
Range(strRange).Select
‘Переходим к последней записи столбца
Selection.End(xlDown).Select
Значение = Selection.Value

‘Переходим к Книге2
Windows(КнигаТекущая).Activate
‘Переходим к Лист1 Книги2
Sheets(ЛистТекущий).Select
Selection.Value = Значение

End Sub
==========================
Закрываете редактор. Идете в Сервис - Настройка - Команды. В левом окне находите Макросы. Перетаскиваете на панель инструментов Настроиваемая кнопка. Далее Изменить выделенный объект - Назначить макрос. В открывшемся окне выбрать DefineValue.
Макрос будет работать только в том случае, если открыта книга 1.xls, в противном случае будет выдавать ошибку.

Справка к макросу.
Перед использование изменить где указано названия книг и столбца из которого беруться данные.
Перед нажатием на кнопку нужно в книге 2.xls выделить ячейку куда будет вставлены данные.
Форма ответа