Сделать свод из нескольких файлов

Программирование на Visual Basic for Applications
Monk
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 23.09.2008 (Вт) 9:19

Сделать свод из нескольких файлов

Сообщение Monk » 23.09.2008 (Вт) 9:30

Здравствуйте! Подскажите пожалуйста пример следующей ситуации: Имеется 3 файла (допустим) trm0, trm1 и trm2, как при помощи метода Table объекта Range вставить результат в файл trm0 ячейка А1 (допустим) из trm1 ячейка А1 + файл trm2 ячейка А1? Заранее спасибо.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Сделать свод из нескольких файлов

Сообщение Денис » 23.09.2008 (Вт) 12:48

Создаешь все три файла. открываешь их все. в одном из них (видимо в том, в котором нужно вставить результат) включаешь запись макроса. Делаешь все нужные тебе действия. останавливаешь запись макроса. Открываешь редактор VBA. Смотришь на код.
...
Я так сам VBA учил.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Сделать свод из нескольких файлов

Сообщение tyomitch » 23.09.2008 (Вт) 18:44

Денис, у автора неслабое ограничение: "при помощи метода Table объекта Range"
Изображение

Monk
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 23.09.2008 (Вт) 9:19

Re: Сделать свод из нескольких файлов

Сообщение Monk » 24.09.2008 (Ср) 4:11

Денис писал(а):Создаешь все три файла. открываешь их все. в одном из них (видимо в том, в котором нужно вставить результат) включаешь запись макроса. Делаешь все нужные тебе действия. останавливаешь запись макроса. Открываешь редактор VBA. Смотришь на код.
...
Я так сам VBA учил.


Так я уже делал, но это неустраивает, надо чтоб в сводном файле отображался результат в ячейках, а этим методом в ячейках отображается результат вместе с формулами, в итоге когда открываешь сводный файл он получается зависим от тех файлов.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Сделать свод из нескольких файлов

Сообщение Денис » 24.09.2008 (Ср) 10:47

tyomitch писал(а):Денис, у автора неслабое ограничение: "при помощи метода Table объекта Range"

Да, я заметил, но я заметил, что когда пользователи ставят такие неслабые ограничения, то это как правило, результат неправильных логических заключений (по себе помню)

Monk писал(а):Так я уже делал, но это неустраивает, надо чтоб в сводном файле отображался результат в ячейках, а этим методом в ячейках отображается результат вместе с формулами, в итоге когда открываешь сводный файл он получается зависим от тех файлов.


Эх, товарищ! Так кто ж вас заставляет писать в ячейки формулы? Пишите в ячейки готовый результат. В чем проблема-то?
Примерчик:
Код: Выделить всё
Dim t1 As Long
Dim t2 As Long
   
    Range("A100").Select 'Выбираем левую ячейку
   
    'Создаем в этой ячейке формулу и соханяем значение в нашей переменной
    ActiveCell.FormulaR1C1 = "=[f2.xls]Лист3!R1C1"
    t1 = ActiveCell.Value2
   
    'Создаем в этой ячейке другую формулу и соханяем значение в нашей переменной
    ActiveCell.FormulaR1C1 = "=[f3.xls]Лист3!R1C1"
    t2 = ActiveCell.Value2
   
    'Переходим в ячейку назначения
    Range("A1").Select
    'Суммируем значения
    ActiveCell.Value2 = t1 + t2
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Monk
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 23.09.2008 (Вт) 9:19

Re: Сделать свод из нескольких файлов

Сообщение Monk » 25.09.2008 (Чт) 4:05

Спастбо Денис! Просто я не связывался с VBA никогда, на работе задали задачку. Конечно не совсем то что хотелось, но фундамент так сказать есть, если ячеек 30 то для каждой по 2 переменные создавать, слишком громоздко.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 101

    TopList