Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/макрос добавления строк в таблицу до сегодняшней даты - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос добавления строк в таблицу до сегодняшней даты (Макросы/Sub)
макрос добавления строк в таблицу до сегодняшней даты
micholap_denis Дата: Пятница, 11.02.2022, 12:37 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
уважаемые знатоки напишите пожалуйста макрос который будет добавлять автоматом строки при открытии книги до сегодняшней даты (столбец дата) с сохранением форматирования и формул вышерасположенных строк
К сообщению приложен файл: 8086540.xlsb (11.2 Kb)
 
Ответить
Сообщениеуважаемые знатоки напишите пожалуйста макрос который будет добавлять автоматом строки при открытии книги до сегодняшней даты (столбец дата) с сохранением форматирования и формул вышерасположенных строк

Автор - micholap_denis
Дата добавления - 11.02.2022 в 12:37
Nic70y Дата: Пятница, 11.02.2022, 13:18 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
в модуль книги,
как-то так примерно
[vba]
Код
Private Sub Workbook_Open()
    Dim d As Double
    a = Evaluate("=MAX(Таблица2[Дата])")
    b = Evaluate("=MAX(ROW(Таблица2[Дата]))")
    c = Evaluate("=MIN(COLUMN(Таблица2[Дата]))")
    d = Date
    e = d - a
    If e > 0 Then
        For f = 1 To e
            Sheets("Лист2").Cells(b + f, c) = a + f
        Next
    End If
End Sub
[/vba]


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Пятница, 11.02.2022, 13:19
 
Ответить
Сообщениев модуль книги,
как-то так примерно
[vba]
Код
Private Sub Workbook_Open()
    Dim d As Double
    a = Evaluate("=MAX(Таблица2[Дата])")
    b = Evaluate("=MAX(ROW(Таблица2[Дата]))")
    c = Evaluate("=MIN(COLUMN(Таблица2[Дата]))")
    d = Date
    e = d - a
    If e > 0 Then
        For f = 1 To e
            Sheets("Лист2").Cells(b + f, c) = a + f
        Next
    End If
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 11.02.2022 в 13:18
micholap_denis Дата: Пятница, 11.02.2022, 14:30 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Nic70y, спасибо
а куда добавить формат даты?
Range("А:AA" & r_).NumberFormat = "ДД.ММ.ГГГГ"
 
Ответить
СообщениеNic70y, спасибо
а куда добавить формат даты?
Range("А:AA" & r_).NumberFormat = "ДД.ММ.ГГГГ"

Автор - micholap_denis
Дата добавления - 11.02.2022 в 14:30
Nic70y Дата: Пятница, 11.02.2022, 14:48 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
Цитата micholap_denis, 11.02.2022 в 14:30, в сообщении № 3 ()
куда добавить формат даты?
ни куда.
умная таблица - умная, сама поймет.


ЮMoney 41001841029809
 
Ответить
Сообщение
Цитата micholap_denis, 11.02.2022 в 14:30, в сообщении № 3 ()
куда добавить формат даты?
ни куда.
умная таблица - умная, сама поймет.

Автор - Nic70y
Дата добавления - 11.02.2022 в 14:48
micholap_denis Дата: Пятница, 11.02.2022, 15:05 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Nic70y, спасибо
 
Ответить
СообщениеNic70y, спасибо

Автор - micholap_denis
Дата добавления - 11.02.2022 в 15:05
micholap_denis Дата: Пятница, 11.02.2022, 15:44 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Nic70y, а если не при открытии книги нужно чтоб срабатывал макрос ?
либо кнопкой либо альт+ф8
 
Ответить
СообщениеNic70y, а если не при открытии книги нужно чтоб срабатывал макрос ?
либо кнопкой либо альт+ф8

Автор - micholap_denis
Дата добавления - 11.02.2022 в 15:44
Nic70y Дата: Пятница, 11.02.2022, 15:51 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
вместо
Private Sub Workbook_Open()

[vba]
Код
Sub имя_макроса()
[/vba]в стандартный модуль

К сообщению приложен файл: 3202021.gif (11.0 Kb) · 6703627.gif (58.8 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Пятница, 11.02.2022, 15:52
 
Ответить
Сообщениевместо
Private Sub Workbook_Open()

[vba]
Код
Sub имя_макроса()
[/vba]в стандартный модуль


Автор - Nic70y
Дата добавления - 11.02.2022 в 15:51
micholap_denis Дата: Пятница, 18.02.2022, 00:00 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Nic70y, спасибо.
А подскажите ещё : что добавить и куда если понадобиться чтоб при добавлении строки до сегодняшней даты вставлялись значения из предыдущей строки( за искл даты конечно)
 
Ответить
СообщениеNic70y, спасибо.
А подскажите ещё : что добавить и куда если понадобиться чтоб при добавлении строки до сегодняшней даты вставлялись значения из предыдущей строки( за искл даты конечно)

Автор - micholap_denis
Дата добавления - 18.02.2022 в 00:00
Nic70y Дата: Пятница, 18.02.2022, 07:59 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
на пример 2-й столбец таблицы:
[vba]
Код
        For f = 1 To e
            Sheets("Лист2").Cells(b + f, c) = a + f
            Sheets("Лист2").Cells(b + f, c + 1) = Sheets("Лист2").Cells(b + f - 1, c + 1).Value
        Next
[/vba]должно работать, в файле не проверял.


ЮMoney 41001841029809
 
Ответить
Сообщениена пример 2-й столбец таблицы:
[vba]
Код
        For f = 1 To e
            Sheets("Лист2").Cells(b + f, c) = a + f
            Sheets("Лист2").Cells(b + f, c + 1) = Sheets("Лист2").Cells(b + f - 1, c + 1).Value
        Next
[/vba]должно работать, в файле не проверял.

Автор - Nic70y
Дата добавления - 18.02.2022 в 07:59
micholap_denis Дата: Пятница, 18.02.2022, 09:00 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Nic70y, а если все значения в строке копировать при добавлении, а не только 2столбец?
 
Ответить
СообщениеNic70y, а если все значения в строке копировать при добавлении, а не только 2столбец?

Автор - micholap_denis
Дата добавления - 18.02.2022 в 09:00
Nic70y Дата: Пятница, 18.02.2022, 09:14 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
micholap_denis, у вас же формулы кроме значений,
формулы в умной таблице сами копируются.


ЮMoney 41001841029809
 
Ответить
Сообщениеmicholap_denis, у вас же формулы кроме значений,
формулы в умной таблице сами копируются.

Автор - Nic70y
Дата добавления - 18.02.2022 в 09:14
micholap_denis Дата: Пятница, 18.02.2022, 09:19 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Nic70y, да для одной таблицы формулы копируются, но хочу такой же макрос применить по аналогии и к таблице где нужно чтоб добавлялись строки до даты сегодня, и копировались значения(числа,текст) с предыдущей строки
 
Ответить
СообщениеNic70y, да для одной таблицы формулы копируются, но хочу такой же макрос применить по аналогии и к таблице где нужно чтоб добавлялись строки до даты сегодня, и копировались значения(числа,текст) с предыдущей строки

Автор - micholap_denis
Дата добавления - 18.02.2022 в 09:19
Nic70y Дата: Пятница, 18.02.2022, 09:32 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sheets("Лист2").Range(Cells(b + f, c + 1), Cells(b + f, c + 5)) = Sheets("Лист2").Range(Cells(b + f - 1, c + 1), Cells(b + f - 1, c + 5)).Value
[/vba]
c + 1 = 2й столбец c + 5 = 6й столбец


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Sheets("Лист2").Range(Cells(b + f, c + 1), Cells(b + f, c + 5)) = Sheets("Лист2").Range(Cells(b + f - 1, c + 1), Cells(b + f - 1, c + 5)).Value
[/vba]
c + 1 = 2й столбец c + 5 = 6й столбец

Автор - Nic70y
Дата добавления - 18.02.2022 в 09:32
micholap_denis Дата: Пятница, 18.02.2022, 09:42 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Nic70y, спасибо
 
Ответить
СообщениеNic70y, спасибо

Автор - micholap_denis
Дата добавления - 18.02.2022 в 09:42
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос добавления строк в таблицу до сегодняшней даты (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!