Страница: 1 | 2 |
Вопрос: Работа с данными
Добавлено: 29.07.08 19:50
Автор вопроса: joker-pnz
Доброго времени суток! На работе веду отчетность в EXELe. Файл состоит из 28-31 страницы. 1 - 1 число месяца, 1 - 2 число месяца,..., 31-31 число месяца. Нужен скрипт, который будет выводить в лист 7 данные за предыдущие 6 дней, то есть 1,2,3,4,5,6 число, на 8 лист аналогично только данный за 2,3,4,5,6,7,... на 31 число за 25,26,27,28,29,30. Смысл я думаю понятен. Хочется использовать скрипт, который автоматически бы все данные подставлял. Пока что приходится работать в ручную прописывая ссылки на предидущие страницы для каждого рабочего листа. Очень не удобно. Помогите кто чем может.
Ответы
Всего ответов: 20
Номер ответа: 1
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #1
Добавлено: 29.07.08 20:30
Номер ответа: 2
Автор ответа:
joker-pnz
Вопросов: 1
Ответов: 8
Профиль | | #2
Добавлено: 29.07.08 20:39
Данные на каждом листе в одной и той же ячейке А1-надо чтобы на каждом последующем создаваемом листе указывались предидущие показатели
Номер ответа: 3
Автор ответа:
joker-pnz
Вопросов: 1
Ответов: 8
Профиль | | #3
Добавлено: 29.07.08 20:43
указывалисть в других ячеяках, например
K1-данные на 6 листов назад
L1-данные на 5 листов назад
M1-данные на 4 листов назад
N1-данные на 3 листов назад
O1-данные на 2 листов назад
Р1-данные на 1 листов назад
Номер ответа: 4
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #4
Добавлено: 29.07.08 22:28
В книге создаются листы 1, 2, 3 и т. д. На каждом листе кнопка. На нее макрос.
Dim sh As String
Dim i As Integer, Col As Byte 'от 0 до 255
Application.DisplayAlerts = False 'отключение системных предупреждений
sh = ActiveSheet.Name 'определяем день по номеру листа
With Worksheets(sh)
Col = 11 'номер колонки К
For i = 6 To 1 Step -1
.Cells(1, Col).Formula = "='" & sh - i & "'!A1" 'вставка ссылки. Если листа нет, то будет отображаться #Ref!
Col = Col + 1 'следующая колонка
Next i
End With
Application.DisplayAlerts = True 'включение системных предупреждений
End Sub
Номер ответа: 5
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #5
Добавлено: 29.07.08 22:29
Забыла дополнение. Все пишется в строку 1.
Номер ответа: 6
Автор ответа:
joker-pnz
Вопросов: 1
Ответов: 8
Профиль | | #6
Добавлено: 30.07.08 12:53
Благодарю! сегодня попробую! Эх жалко смайликов нет - подарил бы вам краситвый букет
Номер ответа: 7
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #7
Добавлено: 30.07.08 14:18
Спасибо.
Про смайлики к админу сайта. Может создаст смайлики: для девочек - букет, для мальчиков - кружку/ящик пива. ))
Номер ответа: 8
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #8
Добавлено: 30.07.08 14:59
а для всех вместе - пачку банкнот, или бочонок с золотом....
Номер ответа: 9
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #9
Добавлено: 30.07.08 18:12
Тоже неплохо.
Номер ответа: 10
Автор ответа:
joker-pnz
Вопросов: 1
Ответов: 8
Профиль | | #10
Добавлено: 30.07.08 19:22
К сожалению при нажатии на кнопку с макросом появдяется ошибка Can't execute code in break mode. Ругается на строку
.Cells(1, Col).Formula = "='" & sh - i & "'!A1" 'вставка ссылки. Если листа нет, то будет отображаться #Ref!
Может быть я что-то не так сделал?
Номер ответа: 11
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #11
Добавлено: 30.07.08 20:01
Вот так попробуй заменить:
Номер ответа: 12
Автор ответа:
joker-pnz
Вопросов: 1
Ответов: 8
Профиль | | #12
Добавлено: 30.07.08 20:03
Да, 1,2,3,4,5,6,7,8,9,10...
Номер ответа: 13
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #13
Добавлено: 30.07.08 20:09
Замена не помогает ?
Номер ответа: 14
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #14
Добавлено: 30.07.08 20:13
А, поняла кажется. Нажми остановить макрос в редакторе. А птом нажми кнопку.
Номер ответа: 15
Автор ответа:
joker-pnz
Вопросов: 1
Ответов: 8
Профиль | | #15
Добавлено: 30.07.08 20:15
нет...