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

Вход

Регистрация

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

 

= Мир MS Excel/Проставить даты от - до VBA - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проставить даты от - до VBA (Макросы/Sub)
Проставить даты от - до VBA
ni4esse Дата: Понедельник, 13.05.2024, 00:11 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Уважаемые форумчане, прошу вашей помощи или подсказки. Упражняюсь в написании макросов. Делаю график. В рукопашную проставляю даты начала работ в столбце "С", в столбце "В" окончание работ. Потом, с помощью макроса, ищу наистарейшую дату в столбце "С" и наисвежайшую в столбце "B" после чего высчитываю разницу (количество дней) между двумя датами. Теперь, мне требуется проставить даты от наистарейшей до наисвежайшей в строчку (по горизонтали) начиная со столбца "J" с возможностью указать шаг 1 день, 30 дней и т.д. Пробовал использовать цикл For Next, получилась фигня. Может неправильно пробовал. Буду категорически благодарен за подсказку в решении моего вопроса. Файл прикрепил.
К сообщению приложен файл: grafik.xlsm (257.3 Kb)


Сообщение отредактировал ni4esse - Понедельник, 13.05.2024, 00:13
 
Ответить
СообщениеУважаемые форумчане, прошу вашей помощи или подсказки. Упражняюсь в написании макросов. Делаю график. В рукопашную проставляю даты начала работ в столбце "С", в столбце "В" окончание работ. Потом, с помощью макроса, ищу наистарейшую дату в столбце "С" и наисвежайшую в столбце "B" после чего высчитываю разницу (количество дней) между двумя датами. Теперь, мне требуется проставить даты от наистарейшей до наисвежайшей в строчку (по горизонтали) начиная со столбца "J" с возможностью указать шаг 1 день, 30 дней и т.д. Пробовал использовать цикл For Next, получилась фигня. Может неправильно пробовал. Буду категорически благодарен за подсказку в решении моего вопроса. Файл прикрепил.

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

Excel 2010
как-то так
[vba]
Код
Sub Grafik()
    y = InputBox("Шаг", , 1)
    If Not IsNumeric(y) Then Exit Sub
    Application.ScreenUpdating = False
    x = Cells(1, Columns.Count).End(xlToLeft).Column
    If x > 5 Then Range(Cells(1, 6), Cells(1, x)).Delete Shift:=xlToLeft
    a = Cells(Rows.Count, "c").End(xlUp).Row
    b = Application.Min(Range("c2:c" & a))
    c = Application.Max(Range("d2:d" & a))
    f = c - b + 1
    d = Application.RoundUp(f / y, 0)
    Range("f1") = f
    Range("g1") = c
    Range("h1") = b
    Range("g1:h1").Font.Size = 9
    Range("g1:h1").NumberFormat = "m/d/yyyy"
    For e = 1 To d
        Cells(1, 9 + e) = b + e * y - y
        Cells(1, 9 + e).Font.Size = 9
        Cells(1, 9 + e).NumberFormat = "m/d/yyyy"
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]наверно
К сообщению приложен файл: grafik49.xlsm (20.8 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Понедельник, 13.05.2024, 09:43
 
Ответить
Сообщениекак-то так
[vba]
Код
Sub Grafik()
    y = InputBox("Шаг", , 1)
    If Not IsNumeric(y) Then Exit Sub
    Application.ScreenUpdating = False
    x = Cells(1, Columns.Count).End(xlToLeft).Column
    If x > 5 Then Range(Cells(1, 6), Cells(1, x)).Delete Shift:=xlToLeft
    a = Cells(Rows.Count, "c").End(xlUp).Row
    b = Application.Min(Range("c2:c" & a))
    c = Application.Max(Range("d2:d" & a))
    f = c - b + 1
    d = Application.RoundUp(f / y, 0)
    Range("f1") = f
    Range("g1") = c
    Range("h1") = b
    Range("g1:h1").Font.Size = 9
    Range("g1:h1").NumberFormat = "m/d/yyyy"
    For e = 1 To d
        Cells(1, 9 + e) = b + e * y - y
        Cells(1, 9 + e).Font.Size = 9
        Cells(1, 9 + e).NumberFormat = "m/d/yyyy"
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]наверно

Автор - Nic70y
Дата добавления - 13.05.2024 в 09:40
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проставить даты от - до VBA (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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