Вставка строки с текущей датой в конце таблицы
Maryasha
Дата: Четверг, 26.11.2015, 12:02 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 152
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Всем доброго времени суток! Помогите, пожалуйста, решить следующий вопрос: Необходимо создать макрос, который будет вставлять текущую дату в последнюю строчку таблицы, как это сделано в примере (то есть, с закраской, по центру в столбце "О", без объединения ячеек). Причем макрос должен дополнительно вставлять пробел в каждую пустую ячейку строки таблицы с датой, чтобы в этой строке таблицы не было пустых ячеек (для нормальной работы другого макроса) Всем заранее спасибо за ответы :-)
Всем доброго времени суток! Помогите, пожалуйста, решить следующий вопрос: Необходимо создать макрос, который будет вставлять текущую дату в последнюю строчку таблицы, как это сделано в примере (то есть, с закраской, по центру в столбце "О", без объединения ячеек). Причем макрос должен дополнительно вставлять пробел в каждую пустую ячейку строки таблицы с датой, чтобы в этой строке таблицы не было пустых ячеек (для нормальной работы другого макроса) Всем заранее спасибо за ответы :-) Maryasha
К сообщению приложен файл:
12.xlsm
(78.2 Kb)
Сообщение отредактировал Maryasha - Четверг, 26.11.2015, 16:24
Ответить
Сообщение Всем доброго времени суток! Помогите, пожалуйста, решить следующий вопрос: Необходимо создать макрос, который будет вставлять текущую дату в последнюю строчку таблицы, как это сделано в примере (то есть, с закраской, по центру в столбце "О", без объединения ячеек). Причем макрос должен дополнительно вставлять пробел в каждую пустую ячейку строки таблицы с датой, чтобы в этой строке таблицы не было пустых ячеек (для нормальной работы другого макроса) Всем заранее спасибо за ответы :-) Автор - Maryasha Дата добавления - 26.11.2015 в 12:02
Karataev
Дата: Четверг, 26.11.2015, 23:00 |
Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация:
533
±
Замечаний:
0% ±
Excel
Макрос ищет снизу вверх первую непустую строку и после нее вставляет так, как у Вас в примере.
[vba]
Код
Sub ВставитьДату() Dim lr As Long lr = Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _ , SearchFormat:=False).Row + 1 With Range("A" & lr & ":V" & lr) .Value = " " .BorderAround LineStyle:=xlContinuous, Weight:=xlMedium .Borders(xlInsideVertical).LineStyle = xlNone .Interior.Color = 5296274 End With With Range("O" & lr) .Value = Date .HorizontalAlignment = xlCenter .Font.Bold = True End With End Sub
[/vba]
Макрос ищет снизу вверх первую непустую строку и после нее вставляет так, как у Вас в примере.
[vba]
Код
Sub ВставитьДату() Dim lr As Long lr = Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _ , SearchFormat:=False).Row + 1 With Range("A" & lr & ":V" & lr) .Value = " " .BorderAround LineStyle:=xlContinuous, Weight:=xlMedium .Borders(xlInsideVertical).LineStyle = xlNone .Interior.Color = 5296274 End With With Range("O" & lr) .Value = Date .HorizontalAlignment = xlCenter .Font.Bold = True End With End Sub
[/vba]
Karataev
Сообщение отредактировал Karataev - Четверг, 26.11.2015, 23:01
Ответить
Сообщение Макрос ищет снизу вверх первую непустую строку и после нее вставляет так, как у Вас в примере.
[vba]
Код
Sub ВставитьДату() Dim lr As Long lr = Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _ , SearchFormat:=False).Row + 1 With Range("A" & lr & ":V" & lr) .Value = " " .BorderAround LineStyle:=xlContinuous, Weight:=xlMedium .Borders(xlInsideVertical).LineStyle = xlNone .Interior.Color = 5296274 End With With Range("O" & lr) .Value = Date .HorizontalAlignment = xlCenter .Font.Bold = True End With End Sub
[/vba]
Автор - Karataev Дата добавления - 26.11.2015 в 23:00
Wasilich
Дата: Пятница, 27.11.2015, 02:23 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
У меня пример не открывается но, если правильно понял, то пример кода на все вопросы и из паралельной темы.
[vba]
Код
Sub www() 'Определяем № последней заполненной строки в любой 'колонке, например "А", она заполнена до конца таблицы. '+ 1-на строка за ней. S = Range("A" & Rows.Count).End(xlUp).Row + 1 '№ строки 'Что бы выделить строку по ширине таблицы Range("A" & S & ":W" & S).Select 'Что бы закрасить строку по ширине таблицы Range("A" & S & ":W" & S).Interior.ColorIndex = 6 'Что бы выделить всю строку до конца Rows(S).Select 'Что бы закрасить всю строку до конца Rows(S).Interior.ColorIndex = 6 'Чтобы заполнить ячейки строки пробелом - " ". '(для видимости заполним знаком "Х") Range("A" & S & ":W" & S) = "Х" 'Что бы вставить дату в колонку "О" Range("O" & S) = Date End Sub
[/vba]
У меня пример не открывается но, если правильно понял, то пример кода на все вопросы и из паралельной темы.
[vba]
Код
Sub www() 'Определяем № последней заполненной строки в любой 'колонке, например "А", она заполнена до конца таблицы. '+ 1-на строка за ней. S = Range("A" & Rows.Count).End(xlUp).Row + 1 '№ строки 'Что бы выделить строку по ширине таблицы Range("A" & S & ":W" & S).Select 'Что бы закрасить строку по ширине таблицы Range("A" & S & ":W" & S).Interior.ColorIndex = 6 'Что бы выделить всю строку до конца Rows(S).Select 'Что бы закрасить всю строку до конца Rows(S).Interior.ColorIndex = 6 'Чтобы заполнить ячейки строки пробелом - " ". '(для видимости заполним знаком "Х") Range("A" & S & ":W" & S) = "Х" 'Что бы вставить дату в колонку "О" Range("O" & S) = Date End Sub
[/vba]
Wasilich
Сообщение отредактировал Wasilic - Пятница, 27.11.2015, 02:27
Ответить
Сообщение У меня пример не открывается но, если правильно понял, то пример кода на все вопросы и из паралельной темы.
[vba]
Код
Sub www() 'Определяем № последней заполненной строки в любой 'колонке, например "А", она заполнена до конца таблицы. '+ 1-на строка за ней. S = Range("A" & Rows.Count).End(xlUp).Row + 1 '№ строки 'Что бы выделить строку по ширине таблицы Range("A" & S & ":W" & S).Select 'Что бы закрасить строку по ширине таблицы Range("A" & S & ":W" & S).Interior.ColorIndex = 6 'Что бы выделить всю строку до конца Rows(S).Select 'Что бы закрасить всю строку до конца Rows(S).Interior.ColorIndex = 6 'Чтобы заполнить ячейки строки пробелом - " ". '(для видимости заполним знаком "Х") Range("A" & S & ":W" & S) = "Х" 'Что бы вставить дату в колонку "О" Range("O" & S) = Date End Sub
[/vba]
Автор - Wasilich Дата добавления - 27.11.2015 в 02:23
Maryasha
Дата: Пятница, 27.11.2015, 11:55 |
Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 152
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Wasilic , спасибо! а еще а можно как-то сделать чтобы внутренних границ в этой ячейке не было, а была только одна внешняя жирная?
Wasilic , спасибо! а еще а можно как-то сделать чтобы внутренних границ в этой ячейке не было, а была только одна внешняя жирная?Maryasha
Ответить
Сообщение Wasilic , спасибо! а еще а можно как-то сделать чтобы внутренних границ в этой ячейке не было, а была только одна внешняя жирная?Автор - Maryasha Дата добавления - 27.11.2015 в 11:55
Wasilich
Дата: Пятница, 27.11.2015, 12:36 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
В конце после ввода "Date" дописать [vba]Код
Range("O" & S).Font.Bold = True With Range("A" & S & ":W" & S) .Borders(xlInsideVertical).LineStyle = xlNone .Borders(xlEdgeLeft).Weight = xlMedium .Borders(xlEdgeTop).Weight = xlMedium .Borders(xlEdgeBottom).Weight = xlMedium .Borders(xlEdgeRight).Weight = xlMedium End With
[/vba]
В конце после ввода "Date" дописать [vba]Код
Range("O" & S).Font.Bold = True With Range("A" & S & ":W" & S) .Borders(xlInsideVertical).LineStyle = xlNone .Borders(xlEdgeLeft).Weight = xlMedium .Borders(xlEdgeTop).Weight = xlMedium .Borders(xlEdgeBottom).Weight = xlMedium .Borders(xlEdgeRight).Weight = xlMedium End With
[/vba] Wasilich
Сообщение отредактировал Wasilic - Пятница, 27.11.2015, 12:38
Ответить
Сообщение В конце после ввода "Date" дописать [vba]Код
Range("O" & S).Font.Bold = True With Range("A" & S & ":W" & S) .Borders(xlInsideVertical).LineStyle = xlNone .Borders(xlEdgeLeft).Weight = xlMedium .Borders(xlEdgeTop).Weight = xlMedium .Borders(xlEdgeBottom).Weight = xlMedium .Borders(xlEdgeRight).Weight = xlMedium End With
[/vba] Автор - Wasilich Дата добавления - 27.11.2015 в 12:36
_Boroda_
Дата: Пятница, 27.11.2015, 14:53 |
Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Василич, не верь макрорекодеру. Вместо этой кучи .Borders(xlEdgeLeft).Weight = xlMedium .Borders(xlEdgeTop).Weight = xlMedium .Borders(xlEdgeBottom).Weight = xlMedium .Borders(xlEdgeRight).Weight = xlMedium
нормально работает [vba]Код
.Borders.Weight = xlMedium
[/vba]
Василич, не верь макрорекодеру. Вместо этой кучи .Borders(xlEdgeLeft).Weight = xlMedium .Borders(xlEdgeTop).Weight = xlMedium .Borders(xlEdgeBottom).Weight = xlMedium .Borders(xlEdgeRight).Weight = xlMedium
нормально работает [vba]Код
.Borders.Weight = xlMedium
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Василич, не верь макрорекодеру. Вместо этой кучи .Borders(xlEdgeLeft).Weight = xlMedium .Borders(xlEdgeTop).Weight = xlMedium .Borders(xlEdgeBottom).Weight = xlMedium .Borders(xlEdgeRight).Weight = xlMedium
нормально работает [vba]Код
.Borders.Weight = xlMedium
[/vba] Автор - _Boroda_ Дата добавления - 27.11.2015 в 14:53
Wasilich
Дата: Пятница, 27.11.2015, 15:31 |
Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
Василич, не верь макрорекодеру.
Спасибо Саша. Буду знать. Но для нее - это познание действий. Вдруг захочет только какую то одну линию. ЗЫ Проверил, на диапазоне ячеек окантовует все ячейки. Чего ей не надо!
Василич, не верь макрорекодеру.
Спасибо Саша. Буду знать. Но для нее - это познание действий. Вдруг захочет только какую то одну линию. ЗЫ Проверил, на диапазоне ячеек окантовует все ячейки. Чего ей не надо! Wasilich
Сообщение отредактировал Wasilic - Пятница, 27.11.2015, 15:40
Ответить
Сообщение Василич, не верь макрорекодеру.
Спасибо Саша. Буду знать. Но для нее - это познание действий. Вдруг захочет только какую то одну линию. ЗЫ Проверил, на диапазоне ячеек окантовует все ячейки. Чего ей не надо! Автор - Wasilich Дата добавления - 27.11.2015 в 15:31