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

Портал аспирантов (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)

Jacky 17.01.2013 21:29

Есть еще такой способ, горячими клавишами.

Нажать последовательно ctrl+shift+4 (вставка даты), пробел, ctrl+shift+6 (вставка времени).

Hogfather 18.01.2013 13:27

Вложений: 1
Цитата:

Сообщение от Maksimus (Сообщение 310156)
Дано: Excel 2010.

Цитата:

Сообщение от Jacky (Сообщение 310652)
Есть еще такой способ, горячими клавишами.
Нажать последовательно ctrl+shift+4 (вставка даты), пробел, ctrl+shift+6 (вставка времени).

:facepalm:

Цитата:

Сообщение от Help
Вставка фиксированного значения даты или времени
Статическое значение на листе не изменяется при пересчете или открытии листа. При нажатии клавиш CTRL+; для вставки текущей даты в ячейку делается "снимок" текущей даты, который вставляется в ячейку. Это значение ячейки не изменяется, поэтому оно считается статическим.

1.Выделите на листе ячейку, в которую требуется вставить текущую дату или время.
2.Выполните одно из действий, указанных ниже.
Чтобы вставить текущую дату, нажмите клавиши CTRL+; (точка с запятой).
Чтобы вставить текущее время, нажмите клавиши CTRL+SHIFT+; (точка с запятой).
Чтобы вставить текущие дату и время, нажмите клавиши CTRL+; (точка с запятой), затем клавишу ПРОБЕЛ, а после этого — CTRL+SHIFT+; (точка с запятой).


Hogfather 18.01.2013 13:34

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


' Только для пятой колонки. В остальных случаях ничего не делаем
If Target.Column <> 5 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


Jacky 18.01.2013 14:19

Hogfather, не понял смайл после своей цитаты в предыдущем сообщении. Вы хотите сказать, что..?

Добавлено через 1 минуту
И знаете почему не понял? Потому что указанные мной варианты горячих клавиш работают надежно, а вот эти
Цитата:

Сообщение от Hogfather (Сообщение 310919)
Чтобы вставить текущую дату, нажмите клавиши CTRL+; (точка с запятой).
Чтобы вставить текущее время, нажмите клавиши CTRL+SHIFT+; (точка с запятой).
Чтобы вставить текущие дату и время, нажмите клавиши CTRL+; (точка с запятой), затем клавишу ПРОБЕЛ, а после этого — CTRL+SHIFT+; (точка с запятой).

зачастую не срабатывают и сообщений об этом много в интернете. Почему не срабатывают, неизвестно. У меня кстати тоже не работают.

Excel 2010.

Hogfather 18.01.2013 14:46

Jacky,
Элементарно. Зависит от раскладки клавиатуры и способа её переключения.
У меня переключение по Ctrl-Shift и Ваши комбинации не работают. Рекомендованные - работают на двух языках. Проверил.

На "4" на русском регистре ";", на 6 на русском регистре ":", по сути, Вы пытаетесь сделать то же самое, что написано в инструкции, но в русской раскладке.

Jacky 18.01.2013 15:08

Цитата:

Сообщение от Hogfather (Сообщение 310960)
У меня переключение по Ctrl-Shift и Ваши комбинации не работают.

Переключение по Ctrl+Shift и у меня не работает, если имеется в виду переключение языка клавиатуры (переключается по Alt+Shift). Тут я видимо не понял содержания цитаты. См. ниже последний абзац.
Цитата:

Сообщение от Hogfather (Сообщение 310960)
но в русской раскладке.

В любой раскладке.
Есть нюанс, нажимать цифры надо на основном алфавитно-цифровом блоке, на дополнительном правом цифровом -- работать не будет.

Добавлено через 56 секунд
Цитата:

Сообщение от Hogfather (Сообщение 310960)
по сути, Вы пытаетесь сделать то же самое, что написано в инструкции, но в русской раскладке.

Не совсем то же самое. Комбинации отличаются.

Короче говоря, желающие могут попробовать оба варианта, они равноценны, у кого что будет работать.

Добавлено через 15 минут
Hogfather, для полноты картины попробовал сменить у себя в системе переключение языка ввода с Alt+Shift на Ctrl+Shift и при этом комбинации ctrl+shift+4 и ctrl+shift+6 продолжают успешно работать в любой раскладке. Так что остается повторить:

Цитата:

Сообщение от Jacky (Сообщение 310964)
желающие могут попробовать оба варианта, они равноценны, у кого что будет работать.


Hogfather 18.01.2013 15:24

Цитата:

Сообщение от Jacky (Сообщение 310964)
Hogfather, для полноты картины попробовал сменить у себя в системе переключение языка ввода с Alt+Shift на Ctrl+Shift

Аналогично попробовал. У меня работает мой вариант. Ваш -- нет, дело явно не в способах переключения раскладки.

P.S. А тема вообще не о горячих клавишах, а о макросах. Макрос я написал. Dixi.

Дмитрий В. 09.05.2013 17:15

Спрошу тут, чтобы не создавать отдельную тему.
Коллеги, вводная такова. Имеется таблица в Excel, ячейки содержать в основном текст, в них разный цвет шрифта. Ячейки разного цвета идут вперемешку (к примеру, C1 красная, C2 красная, C3 зеленая, D1 синяя).
Внимание, вопрос: есть ли возможность весь текст определенного шрифта перенести налево от определенного столбца (допустим, B)?
Пока в голову пришла лишь такая идея - добавить к ячейкам определенного цвета какой-нибудь символ, например, ! , чтобы при сортировке они вылезли наверх, и переносить кусками. Возможно, есть что-то менее трудоемкой, т.к. столбцов там весьма немало?
P.S. Студенты принесли материалы, сделанные понятно как, вот сижу и думаю, придется ли говорить им все переделывать вручную или все же удастся обойтись без крайних мер.

Hogfather 09.05.2013 18:05

Дмитрий В., в последних Excel есть фильтрация по цвету.

kravets 09.05.2013 18:14

А я потерялся в Word 2003. Частая операция -
- правая кнопка на формуле
- формат объекта
- вкладка "размер"
- поле масштаба "по высоте" установить в 80 %
- ok

Начинаю записывать макрос - вот прямо по этим действиям. А получается невесть что, причем разное...


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

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