Портал аспирантов

Портал аспирантов (http://www.aspirantura.spb.ru/forum/index.php)
-   Software (программное обеспечение) (http://www.aspirantura.spb.ru/forum/forumdisplay.php?f=107)
-   -   Помогите написать макрос в Excel (http://www.aspirantura.spb.ru/forum/showthread.php?t=7749)

Alextiger 17.07.2011 15:44

Цитата:

Сообщение от Andriy (Сообщение 158720)
соответственно, цифры постоянно пересчитываются и меняются. и их надо убивать

ну и? Пересчитали. Убили все формулы на листе одним кликом. Отдали руководству :)
на след. деть то же самое. Руководству то формулы не нужны. Не понимаю прикола :)

Andriy 17.07.2011 19:25

Цитата:

Сообщение от Alextiger (Сообщение 158725)
ну и? Пересчитали. Убили все формулы на листе одним кликом. Отдали руководству
на след. деть то же самое. Руководству то формулы не нужны. Не понимаю прикола

а кто Вам про прикол говорил?!
еще раз:
1. отчет имеет сейчас n число строк и m столбцов.
2. каждый день, если не убивать формулы, отчет обновляется. и его надо высылать руководству
3. формулы надо в высылаемом отчете убивать.
4. структура отчета может поменяться.
5. (прихоть) иногда руководству надо видеть, а как мол средняя ставка считается. эту группу формул убивать не надо. также могут и другие формулы попросить расписать. поэтому приходится убивать только определенные группы формул, что сделать 1 кликом - только так, как я привел в ссылке в сообщении так № 4.

Я понимаю эту приходить руководства. Мне если бы прислали отчет, в котором тупо строки, хотя там есть и суммирование, и вычитание, и нахождение средней, но не было бы формул, не понравилось бы. простые формулы должны быть, чтобы не писать, как что считается напротив наименования строки. ну тот же расчет прибыли должен быть понятен, А минус В. У меня там 6 финрезов от различных операций, операционная прибыль, расходы 3 группы, доходы 2 группы. Затем активы и пассивы, которые тоже определенную структуру имеют. ну в общем нужны им формулы простые, чтобы понимать структуру расчета основных показателей.

Alextiger 17.07.2011 19:51

понятно, любознательное руководство :)

Andriy 17.07.2011 21:02

да это скорее всего не руководство, а один из адресатов. есть у нас филиал в Вашем городе, так там такие сидят, дундуки:)

gav 19.07.2011 15:30

Код полностью решил проблему?

Andriy 19.07.2011 21:48

gav, решил. Это не Вы были?:-)
у меня еще есть проблема, если Вы хорошо разбираетесь, могу обратиться?

если что, вот моя проблема:
http://www.planetaexcel.ru/forum.php...m=1#post242882

Тут в принципе тоже несложно должно быть. но тут уже надо задавать диапазон наверное, а то все-все скопировать (65000 записей) и вставить в другую книгу эксель сможет только один раз(

Добавлено через 5 часов 7 минут
и эту задачу решили уже..

Maksimus 16.01.2013 12:24

Не хочется создавать отдельную тему, напишу здесь.

Дано: Excel 2010.
Требуется:
1. Сделать так, чтоб в ячейке появлялась текущая дата.
2. Дата должна появляться только после клика на ячейку.
3. Дата д.б. фиксированной (с течением времени не должна самостоятельно изменяться).

Вопрос к корифеям: Реализуемо? Если да, то как?

Заранее спасибо.

Kayra 16.01.2013 18:13

Цитата:

Сообщение от Maksimus (Сообщение 310156)
Дано: Excel 2010.
Требуется:
1. Сделать так, чтоб в ячейке появлялась текущая дата.
2. Дата должна появляться только после клика на ячейку.
3. Дата д.б. фиксированной (с течением времени не должна самостоятельно изменяться).

Способ для чайников:
Запускаете запись макроса: в ячейку вводите функцию =СЕГОДНЯ(), копируете из ячейки это число и вставляете в другую ячейку как значение. Останавливаете запись макроса. Только вот можно ли сделать так, чтобы макрос запускался при клике на ячейку, не знаю. Можно создать кнопку, запускающую макрос при нажатии. Можно без марания ячеек, прописать в VBA и привязать к клику кнопки.
Только зачем нужен такой макрос, не проще ли набивать дату на клавиатуре ;)? Ползти в этом случае точно не будет.

Maksimus 16.01.2013 20:57

Цитата:

Сообщение от Kayra (Сообщение 310277)
копируете из ячейки это число и вставляете в другую ячейку как значение

Не, копирование не пойдет.

Цитата:

Сообщение от Kayra (Сообщение 310277)
Только зачем нужен такой макрос, не проще ли набивать дату на клавиатуре ?

Какие все любобытные :)
Хорошо, расскажу в чем смысл. Есть некий журнал в Excel, в котором должны фиксироваться дата и время определенного события (например, получение продукции). Поскольку продукции м.б. много, то вручную набивать дату-время трудозатратно. А вот одним кликом было бы удобно - щелкнул по ячейке, туда автоматом записались дата-время, щелкнул по другой - следующая.

Т.е. решить задачу можно только написанием доп.программы?

Добавлено через 16 минут
Зы. Нужен именно эксель. Любые другие программы не подойдут.

Hogfather 17.01.2013 10:04

Цитата:

Сообщение от Kayra (Сообщение 310277)
Способ для чайников

:facepalm:

(патетично) Мда. И это гордость отечественной науки. Вышел из забоя, глянул, а тут такой позор: элементарную вещь написать не могут...

Maksimus, только ради Вас оторвался от производства. Цените.
Код:

Option Explicit
' Обратите внимание! Это функция конкретного листа, она должна быть там, а не в модуле
' Откройте VBA проект, выберите лист и по правой кнопке мыши Viev Code
' В открывшееся окно скопируйте программу. Работает по двойному нажатию
'
' Копирайт (ц) 2013 Hogfather. Олл райтс резервед
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error GoTo ErrorEvent
' Только одна ячейка
If Target.Cells.Count > 1 Then
    Exit Sub
End If
' Чтобы избежать зацикливания
  Application.EnableEvents = False
' Если ячейка пустая -- ставим дату
    If Target.Offset(0, 0).Value = "" Or IsNull(Target.Offset(0, 0).Value) Then
        Target.Offset(0, 0).Value = Date
    End If
ExitNormally:
' Возвращаем всё взад
    Application.EnableEvents = True
    Exit Sub
ErrorEvent:
    MsgBox Err.Description
    Resume ExitNormally
End Sub



Текущее время: 07:43. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2024, «Аспирантура. Портал аспирантов»