Как есть, я постарался "на картинках объяснить": Ваша формула работает( то есть вы поняли все правильно), но мне надо знать, как сделать так, чтобы значения сместились на несколько столбцов влево (со строками мы делали так, чтобы
Quote
чтобы 10-я строка, воспринималась бы экселем как 1-я
А сейчас надо, чтобы ячейка G11 конечной книги, ссылалась на ячейку H8 исходной( как было до того, как вы модифицировали формулу), но при этом надо, чтобы формулу можно было бы растянуть вправо.
Вообщем. 1 вопрос
Так есть: Так надо:
2 вопрос Так есть Так надо:
Причем, надо так, чтобы выделенную формул( по сути эта ссылка на другой лист)
Code
{=[1.XLS]Стены!$G$8:$W$8}
можно было бы растянуть вниз и получить выделенный массив, как мы это делаем с формулой
Code
=ДВССЫЛ("["&СТРОКА()-9&".XLS]Стены!R8C[7]";0)
На всякий случай по-другому, попробую объяснить: формула
Code
{=[1.XLS]Стены!$G$8:$W$8}
по форме похожа на формулу =[1.XLS]Стены!H8(я когда тему создавал, я ее использовал в качестве образа формулы, которую мне нужно растянуть) Только последняя является ссылкой на ячейку в другой книге, а {=[1.XLS]Стены!$G$8:$W$8} ссылкой на массив. Да-к, вот, я хочу продлить вниз эту ссылку на массив
Будут вопросы, спрашивайте , Я просто уже не знаю, как можно иначе объяснить то, что я хочу
Я стараюсь:)
Как есть, я постарался "на картинках объяснить": Ваша формула работает( то есть вы поняли все правильно), но мне надо знать, как сделать так, чтобы значения сместились на несколько столбцов влево (со строками мы делали так, чтобы
Quote
чтобы 10-я строка, воспринималась бы экселем как 1-я
А сейчас надо, чтобы ячейка G11 конечной книги, ссылалась на ячейку H8 исходной( как было до того, как вы модифицировали формулу), но при этом надо, чтобы формулу можно было бы растянуть вправо.
Вообщем. 1 вопрос
Так есть: Так надо:
2 вопрос Так есть Так надо:
Причем, надо так, чтобы выделенную формул( по сути эта ссылка на другой лист)
Code
{=[1.XLS]Стены!$G$8:$W$8}
можно было бы растянуть вниз и получить выделенный массив, как мы это делаем с формулой
Code
=ДВССЫЛ("["&СТРОКА()-9&".XLS]Стены!R8C[7]";0)
На всякий случай по-другому, попробую объяснить: формула
Code
{=[1.XLS]Стены!$G$8:$W$8}
по форме похожа на формулу =[1.XLS]Стены!H8(я когда тему создавал, я ее использовал в качестве образа формулы, которую мне нужно растянуть) Только последняя является ссылкой на ячейку в другой книге, а {=[1.XLS]Стены!$G$8:$W$8} ссылкой на массив. Да-к, вот, я хочу продлить вниз эту ссылку на массив
Будут вопросы, спрашивайте , Я просто уже не знаю, как можно иначе объяснить то, что я хочуbiomirror
Сообщение отредактировал biomirror - Пятница, 18.05.2012, 11:56
сейчас надо, чтобы ячейка G11 конечной книги, ссылалась на ячейку H8 исходной( как было до того, как вы модифицировали формулу), но при этом надо, чтобы формулу можно было бы растянуть вправо.
Моя последняя формула так и работает
Quote (biomirror)
сейчас надо, чтобы ячейка G11 конечной книги, ссылалась на ячейку H8 исходной( как было до того, как вы модифицировали формулу), но при этом надо, чтобы формулу можно было бы растянуть вправо.
Вначале не прочитал, что больше 100 качать не можете
Quote (Serge_007)
ЗЫ А почему у Вас файл-пример весит больше 100 к?! Что Вы туда напихали? Нужна всего-то одна строка, максимум 30 кб получится...
У меня там несколько файлов было. Один я создал сам - 10,3 кб. Другие скачал с интернета. один файл -543 кб. изменить нельзя -ячейки защищены. Этих файлов у меня было несколько штук.
Мне интересно, а с чем связаны ограничения в 100 кб?
Quote (Serge_007)
Больше 100 кило качать не могу.
Вначале не прочитал, что больше 100 качать не можете
Quote (Serge_007)
ЗЫ А почему у Вас файл-пример весит больше 100 к?! Что Вы туда напихали? Нужна всего-то одна строка, максимум 30 кб получится...
У меня там несколько файлов было. Один я создал сам - 10,3 кб. Другие скачал с интернета. один файл -543 кб. изменить нельзя -ячейки защищены. Этих файлов у меня было несколько штук.
Мне интересно, а с чем связаны ограничения в 100 кб?biomirror
Если у Вас в файлах [1.xls, 2.xls...] диапазон G8:W8, от столбца F до W в данном файле имя файла берется от ячейки с A9 до A... макросом закидываете файл в папку где лежат файлы [1.xls, 2.xls...] запускаете макрос www (ALT+F8->www)
Если у Вас в файлах [1.xls, 2.xls...] диапазон G8:W8, от столбца F до W в данном файле имя файла берется от ячейки с A9 до A... макросом закидываете файл в папку где лежат файлы [1.xls, 2.xls...] запускаете макрос www (ALT+F8->www)ABC
ABC, вы читаете мои мысли. Я вариант с макросами хотел попробовать после того, как с формулами разберусь, но вы меня опередили решив задачу с их(макросов) помощью. По сути решили данную часть задачи, что я поставил в первом посте этой темы:
Quote (biomirror)
Я думаю, этот вопрос можно задать по другому: как сдедать так, чтобы строки общей таблицы "подхватывали" файлы(ссылались на определенные ячейки из них), лежащие в одной папке.
И еще, скажите пожалуйста, как это макрос перенести в другую таблицу(файл). Таблица, которая в архиве, это упрощенный пример, того что надо - "лишнее" я удалил, чтоб вам не мешалось.
Эх, прошу прощения за наглость, но мне бы еще с этим макросом хотелось бы разобраться. Правда я с VBA второй раз в жизни дело имею(раньше о нем не слышал:). Разобраться, чтобы в случае непредвиденного появления, смещения ячеек, расправиться с ними самому Если объяснять долго и не имеет смысла, то так и напишите
[vba]
Code
Sub www() On Error GoTo ErrorHandler Dim s, i As Long Dim path As String Application.ScreenUpdating = 0
[/vba] Эту часть, как я понимаю, трогать не надо при смещении, появлении ячеек.
Меня интересует, что в коде означают эти строки: [vba]
Code
s = Cells(Rows.Count, 1).End(xlUp).Row
[/vba] [vba]
Code
For i = 9 To s
[/vba] Здесь, я думаю, что цифра 9, это номер строки в "ОБщей таблице", а что такое s?
[/vba] (i, 6) - номер строки и столбца в общей таблице. А как макрос понимает, что значение надо забирать из 9 строки... О, не объясняйте, я понял из For i = 9 To s Т.е. если я вместо 9 подставлю 10, то значения будут подхватываться из 10 строки, да? (8, 7) 8 строка, 7 столбец исходного файла.
[/vba] Вы ж не вручную меняли значения в Cells, не можетк сказать, как вы это делали?
Еще раз повторюсь, если объяснять долго и не имеет смысла, то так и напишите
А можно еще сделать так, чтобы Данные из ячеек C2, H2, J2, L2(лист Бланк) исходных книг(1,2, 3 и т.д) переносились в ячейки B10:Е10, B11:E11 и т.д. конечной книги(так же, с помощью макроса)? Мне бы хотелось, чтобы было следующим образом: Вы делаете так, чтобы: Данные из ячеек C2, H2 (лист Бланк) исходных книг(1,2, 3 и т.д) переносились в B10:С10 конечной книги.
А я по образцу делаю так, чтобы данные из ячеек J2, L2(лист Бланк) исходных книг(1,2, 3 и т.д) переносились в ячейки D10:E10 конечной книги.
Такое возможно?
ABC, вы читаете мои мысли. Я вариант с макросами хотел попробовать после того, как с формулами разберусь, но вы меня опередили решив задачу с их(макросов) помощью. По сути решили данную часть задачи, что я поставил в первом посте этой темы:
Quote (biomirror)
Я думаю, этот вопрос можно задать по другому: как сдедать так, чтобы строки общей таблицы "подхватывали" файлы(ссылались на определенные ячейки из них), лежащие в одной папке.
И еще, скажите пожалуйста, как это макрос перенести в другую таблицу(файл). Таблица, которая в архиве, это упрощенный пример, того что надо - "лишнее" я удалил, чтоб вам не мешалось.
Эх, прошу прощения за наглость, но мне бы еще с этим макросом хотелось бы разобраться. Правда я с VBA второй раз в жизни дело имею(раньше о нем не слышал:). Разобраться, чтобы в случае непредвиденного появления, смещения ячеек, расправиться с ними самому Если объяснять долго и не имеет смысла, то так и напишите
[vba]
Code
Sub www() On Error GoTo ErrorHandler Dim s, i As Long Dim path As String Application.ScreenUpdating = 0
[/vba] Эту часть, как я понимаю, трогать не надо при смещении, появлении ячеек.
Меня интересует, что в коде означают эти строки: [vba]
Code
s = Cells(Rows.Count, 1).End(xlUp).Row
[/vba] [vba]
Code
For i = 9 To s
[/vba] Здесь, я думаю, что цифра 9, это номер строки в "ОБщей таблице", а что такое s?
[/vba] (i, 6) - номер строки и столбца в общей таблице. А как макрос понимает, что значение надо забирать из 9 строки... О, не объясняйте, я понял из For i = 9 To s Т.е. если я вместо 9 подставлю 10, то значения будут подхватываться из 10 строки, да? (8, 7) 8 строка, 7 столбец исходного файла.
[/vba] Вы ж не вручную меняли значения в Cells, не можетк сказать, как вы это делали?
Еще раз повторюсь, если объяснять долго и не имеет смысла, то так и напишите
А можно еще сделать так, чтобы Данные из ячеек C2, H2, J2, L2(лист Бланк) исходных книг(1,2, 3 и т.д) переносились в ячейки B10:Е10, B11:E11 и т.д. конечной книги(так же, с помощью макроса)? Мне бы хотелось, чтобы было следующим образом: Вы делаете так, чтобы: Данные из ячеек C2, H2 (лист Бланк) исходных книг(1,2, 3 и т.д) переносились в B10:С10 конечной книги.
А я по образцу делаю так, чтобы данные из ячеек J2, L2(лист Бланк) исходных книг(1,2, 3 и т.д) переносились в ячейки D10:E10 конечной книги.
Sub www() On Error GoTo ErrorHandler Dim s, i As Long Dim path As String Application.ScreenUpdating = 0 s = Cells(Rows.Count, 1).End(xlUp).Row 'последняя не пустая ячейка в столбце A For i = 9 To s ' цикл открыть - с 9-ти строк по последней не пустой ячейки в столбце '--------------------------------------------------------------------- path = ActiveWorkbook.path & "\" & Cells(i, 1) & ".xls" 'нужный файл 'в общем получаем полный путь (включительно имя_файла) 'ActiveWorkbook.path - путь авкивной книги '--------------------------------------------------------------------- With GetObject(path) 'открываем скрыто, дальше берем данные... Cells(i, 2).Value = .Sheets("Бланк").Cells(2, 3).Value Cells(i, 3).Value = .Sheets("Бланк").Cells(2, 8).Value Cells(i, 4).Value = .Sheets("Бланк").Cells(2, 10).Value Cells(i, 5).Value = .Sheets("Бланк").Cells(2, 12).Value
Sub www() On Error GoTo ErrorHandler Dim s, i As Long Dim path As String Application.ScreenUpdating = 0 s = Cells(Rows.Count, 1).End(xlUp).Row 'последняя не пустая ячейка в столбце A For i = 9 To s ' цикл открыть - с 9-ти строк по последней не пустой ячейки в столбце '--------------------------------------------------------------------- path = ActiveWorkbook.path & "\" & Cells(i, 1) & ".xls" 'нужный файл 'в общем получаем полный путь (включительно имя_файла) 'ActiveWorkbook.path - путь авкивной книги '--------------------------------------------------------------------- With GetObject(path) 'открываем скрыто, дальше берем данные... Cells(i, 2).Value = .Sheets("Бланк").Cells(2, 3).Value Cells(i, 3).Value = .Sheets("Бланк").Cells(2, 8).Value Cells(i, 4).Value = .Sheets("Бланк").Cells(2, 10).Value Cells(i, 5).Value = .Sheets("Бланк").Cells(2, 12).Value