Здравствуйте! У меня вопрос. Возможно ли заполнить столбец такого вида автозаполнением. Если автозаполнение невозможно то как возможно другим способом быстро его заполнить.
P.S. Это получается время. 8:00-8:30 (при этом видоизменение шрифта минут должно быть надстрочным, а часы оставаться так же в нормальном виде)
Пример:
800-830
830-900
900-930
ну и так далее.
Программное обеспечение
Вопрос по автозаполнению в EXCEL.
Заполнить автоматически можно разными способами. Формулой и макросом.
Формула привязана к номеру ячейки, поэтому, если начало счета не от 0:00 или не с А1, формулу придется поправить.
Формула =ОКРУГЛВВЕРХ (СТРОКА ()/2;0)-1&ЕСЛИ (ОСТАТ (СТРОКА ();2);"00";"30")&"-"&ОКРУГЛВВЕРХ (СТРОКА ()/2;0)-ОСТАТ (СТРОКА ();2)&ЕСЛИ (ОСТАТ (СТРОКА ();2);"30";"00")
Если надо сделать отсчет как у вас, с 8:00, то после знака равно (=) и после фрагмента &"-"& надо вставить 8+
Вариант с макросом не стал делать, так как делать программу, которая будет спрашивать вас с какой ячейки, и с какого по какой час делать автозаполнение не целесообразно, хотя можно.
Теперь форматирование. Опять два варианта. Первый делается руками, а потом копируется формат на нужное количество ячеек. Ячейки с формулой, которая делала автозаполнеие, форматировать не получится, пока не заменить там формулы на значения. Делается это так. Копируете диапазон ячеек с формулами и в тоже место вставляете специальной вставкой только “значения”.
Чтобы отформатировать минуты надстрочными шрифтом надо, дважды кликнуть по ячеке мышкой, при этом курсор перейдет в режим редактирования. Выделяете минуты, привой кнопкой мышки вызываете меню, в котором выбираете формат ячеек. В мастере формата шрифта ставите “надстрочный”. После завершения копируете формат ячейки специальной вставкой.
Макросом. Выделяете диапазон со значениями (не формулами) и запускаете макрос.
Код
Sub format_time()
fRow = Selection.Row
fColumn = Selection.Column
lRow = Selection.Row + Selection.Rows.Count - 1
lColumn = Selection.Column + Selection.Columns.Count - 1
Application.ScreenUpdating = False
For c = fColumn To lColumn
For r = fRow To lRow
ls = Len(Cells(r, c))
ns = InStr(Cells(r, c), "-")
Cells(r, c).Characters(Start:=ns - 2, Length:=2).Font.Superscript = True
Cells(r, c).Characters(Start:=ls - 1, Length:=2).Font.Superscript = True
Next r
Next c
Application.ScreenUpdating = True
End Sub
На дальнейшее объяснение, как и куда вставить макрос, не хватает букв в поле для ответа.
Формула привязана к номеру ячейки, поэтому, если начало счета не от 0:00 или не с А1, формулу придется поправить.
Формула =ОКРУГЛВВЕРХ (СТРОКА ()/2;0)-1&ЕСЛИ (ОСТАТ (СТРОКА ();2);"00";"30")&"-"&ОКРУГЛВВЕРХ (СТРОКА ()/2;0)-ОСТАТ (СТРОКА ();2)&ЕСЛИ (ОСТАТ (СТРОКА ();2);"30";"00")
Если надо сделать отсчет как у вас, с 8:00, то после знака равно (=) и после фрагмента &"-"& надо вставить 8+
Вариант с макросом не стал делать, так как делать программу, которая будет спрашивать вас с какой ячейки, и с какого по какой час делать автозаполнение не целесообразно, хотя можно.
Теперь форматирование. Опять два варианта. Первый делается руками, а потом копируется формат на нужное количество ячеек. Ячейки с формулой, которая делала автозаполнеие, форматировать не получится, пока не заменить там формулы на значения. Делается это так. Копируете диапазон ячеек с формулами и в тоже место вставляете специальной вставкой только “значения”.
Чтобы отформатировать минуты надстрочными шрифтом надо, дважды кликнуть по ячеке мышкой, при этом курсор перейдет в режим редактирования. Выделяете минуты, привой кнопкой мышки вызываете меню, в котором выбираете формат ячеек. В мастере формата шрифта ставите “надстрочный”. После завершения копируете формат ячейки специальной вставкой.
Макросом. Выделяете диапазон со значениями (не формулами) и запускаете макрос.
Код
Sub format_time()
fRow = Selection.Row
fColumn = Selection.Column
lRow = Selection.Row + Selection.Rows.Count - 1
lColumn = Selection.Column + Selection.Columns.Count - 1
Application.ScreenUpdating = False
For c = fColumn To lColumn
For r = fRow To lRow
ls = Len(Cells(r, c))
ns = InStr(Cells(r, c), "-")
Cells(r, c).Characters(Start:=ns - 2, Length:=2).Font.Superscript = True
Cells(r, c).Characters(Start:=ls - 1, Length:=2).Font.Superscript = True
Next r
Next c
Application.ScreenUpdating = True
End Sub
На дальнейшее объяснение, как и куда вставить макрос, не хватает букв в поле для ответа.
нет 800-830 - это текст, а на него не действует правило распрастранения. Будет заполнятся такими же блоками
ставь Multi Excel 2011<>>>>Там разберёшься?!)))
Похожие вопросы
- что делает свойство caller объекта application?? Вопрос по VBA в Excel
- Автозаполнения, выпадающие списки, формулы «Excel»
- Помогите ответить на вопросы MS Excel (последний)
- Как преобразовать сканированный файл PDF в Excel или Word?
- Вопросы по Excel
- Есть ли возможность «научить» EXCEL расставлять данные согласно РУССКОМУ алфавиту?
- Форматирование в Excel
- СРОЧНО! Можно ли открывать документ excel 2000 года, в excel 2010?
- Разве Microsoft Excel создан для рисования?
- Помогите с формулой в Excel для выведения слова, исходя из заданного диапазона