Ctrl+PgUp и Ctrl+PgDn.
Очень удобно нажимать провой рукой, редко мышкой для этого пользуюсь...
Ctrl+PgUp и Ctrl+PgDn.
Очень удобно нажимать провой рукой, редко мышкой для этого пользуюсь...
Вопрос следующий:
Есть таблица с кучей данных. По каждый позиции, например -дерево в таблице есть много значений, по котрым я строю диаграмму -график с несколькими линиями.
проблема в том, что таких диаграмм нужно сделать штук 300!!!
Читала кое-что в интернете -нужно делать макрос, но!
мне нужно, чтобы макрос брал данные моей диаграммы ну например:
Диаграмма - Лес.
А B
1 45 60
2 54 45
это типа таблица))
Диаграмма берет данные из ячейки A1 B1, а мне нужно написать макорс (или может что-то еще - все варианты рассматривать буду) где бедет делаться та же диаграмма, но будет брать данные из ячеек ниже т.е. из ячейки 2A и 2B.
Вот, надеюсь не запутала никого.
пример простой. на деле в диаграмме задействовано около 50 ячеек, сами понимаете, что вручную набирать - АНРИАЛ!
АЙ НИД ХЕЛП))
или меня
IMHO. Я бы сделал так. Если не заморачиваться с макросами. Посмотри может пойдет...
А когда нужно комбинировать несколько графиков, то можно тоже самое огранизовать чекбоксами.
http://marketingnet.narod.ru/files/Book.rar
При открытии любого файла *.xls
открывается еще один пустой файл PERSONAL.XLS
Alex Advanced, курим поиск, при чем один в один с вопросом
http://www.yandex.ru/yandsearch?rpt=rad&text=%CF%F0%E8+%EE%F2%EA% ... RSONAL.XLS
и вот например:
http://www.viruslist.com/ru/viruses/encyclopedia?virusid=27837
http://tver.mesi.ru/e-lib/res/334/3VIRUSES/6MACRO/EXCEL/EXCEL.HTM
лечимсо
появилась задача. сам справиться не смог. попыток сделал массу, но пока ничего. суть задачи:
имеем таблицу с данными в которой есть ключевой столбец: наименование клиента.
необходимо сделать так чтобы в определенный момент времени благодаря выполнению условия формулы либо с помощью макроса из другой таблицы (даже точнее другого листа другой книги) выбирались данные в соответствии с наименованием клиента и вставлялись в первую таблицу. к примеру этио могут быть контактные данные (телефон, адрес).
понятно объясняю?
dikar, функция ВПР тебе поможет. Правда придется повозиться, что бы разобрать. Если нужно, брошу пример.
пока пробую функцию Просмотр. в ней есть один минус. нужно дополнительно придумывать способ для случая когда данные не совпадают. ибо в стандартной ситуации она подставляет наиболее подходящее значение, а нужно четкое выполнение задачи либо совпадают значения либо нет. и все... тем не менее Creative, спасибо. эту функцию можно хоть и со сложностями прикрутить для решения задачи.
KSIva, сейчас буду посмотреть функцию ВПР. если не осилю сам попрошу хелпа.
KSIva, спасибо. ВПР делает все что нужно для моей задачи.
появилась новая:
с помощью макроса в новую таблицу вставляю формулы из исходной таблицы и копирую их по всему диапазону данных.
так вот сейчас я этот диапазон устанавливаю в макросе единожды и с запасом. т.е. если у меня стандартно в новой таблице 930-940 строк то я с запасом установил в макросе копирование формул до ячейки 999, но согласитесь это как то неправильно. а если вдруг новая таблица будет содержать больше 1000 строк, получается за макросом нужно потом доделывать работу, а если в этой работе участвуют формулы в которых изначальные значения в формулах в ходе выполнения макроса заменяются на интервалы базы данных, т.е. эта замена выполняется после копирования формул для того чтобы во всех строках интервал содержащий базу данных был идентичным и не менялся при копировании от строки к строке, то задача доделки работы после макроса и вовсе превращается в рутину.
вот отсюда и вопрос: можно ли макросу дать задачу как то определять до какой строки копировать формулы или хотя бы заставить его в ходе выполнения спрашивать меня номер строки до которой я хочу скопировать формулы.
надеюсь понятно объяснил. простите с примерами сложно, но если будут нужны постараюсь и сделаю.
заранее благодарен.
dikar, думаю...
While IsEmpty(Sheets("Лист1".Range(Cells(i,...), Cells(i,...)))
....
Wend
должно помочь
SashaR, сорри за вопрос но это именно те строки, которые должны быть добавлены в макрос или вместо многоточия должно быть что то что я должен был понять из написанного?
заранее благодарен.
dikar, это цыкл который просматривает не пустые ячейки определенного слолбца
внутри соответственно должен быть исходный рабочий код
SashaR, а можно этот цикл в каком то простом примере описать. просто я не совсем понимаю каким образом заменить многоточие правильно и более того ведь рабочий код также будет отличаться от обычного с учетом постепенного просмотра ячеек, что также хотелось бы сделать абсолютно правильно.
могу ли попросить вас привести пример в котором с помощью данного цикла на листе 1 в столбце D начиная со строки 3 будут помещаться значения (копирование формулы) строки 2 того же столбца при условии наличия данных в строке столбца А.
и как измениться цикл вместе с рабочим кодом если заполнение нужно производить в столбцах D-G при том же условии (не пустые ячейки строки столбца А).
заранее благодарен.
dikar, привожу простой пример
1. Например в лист1 вставляем кнопку и назначаем ей макрос Кнопка1_Щелкнуть
2. Выбираем например Находится в: Эта книга
3. Далее - Создать
4. Код будет выглядеть следующим образом:
Sub Кнопка1_Щелкнуть()
Dim i As Integer
i = 3
While IsEmpty(Sheets("Лист1".Range(Cells(i, 1), Cells(i, 1))) = False
Cells(2, 4).Copy
Cells(i, 4).Select
ActiveSheet.Paste
i = i + 1
Wend
End Sub
Sub Кнопка1_Щелкнуть()
Dim i As Integer
i = 3
While IsEmpty(Sheets("Лист1".Range(Cells(i, 1), Cells(i, 1))) = False
Cells(2, 4).Copy
Cells(i, 4).Select
ActiveSheet.Paste
Cells(2, 5).Copy
Cells(i, 5).Select
ActiveSheet.Paste
Cells(2, 6).Copy
Cells(i, 6).Select
ActiveSheet.Paste
Cells(2, 7).Copy
Cells(i, 7).Select
ActiveSheet.Paste
i = i + 1
Wend
End Sub
Один из вариантов, думаю можно как-то и по другому сделать с менее избыточным кодом - Вам и флаг в руки
Второй вариант правельние будет представить в виде:
Sub Кнопка1_Щелкнуть()
Dim i As Integer
Dim j As Integer
i = 3
While IsEmpty(Sheets("Лист1".Range(Cells(i, 1), Cells(i, 1))) = False
For j = 4 To 7
Cells(2, j).Copy
Cells(i, J).Select
ActiveSheet.Paste
Next j
i = i + 1
Wend
End Sub
SashaR, спасибо за помощь. буду сейчас вставлять все енто дело в мою задачку. спасибо.