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

Вход

Регистрация

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

 

= Мир MS Excel/Заполоненные пустых ячеек в столбце исходя из даты продажи. - Мир MS Excel

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

Excel 2013
Доброго времени суток! В ходе работы возникла острая необходимость в вашей помощи. Суть вопроса, как можно сделать так чтобы, если в столбце продажа была заполнена ячейка, то в доном столбце все ячейки за этот день были заполнены символом !. Как вариант 10 ячеек вверх десять вниз от заполненной ячейки . Очень благодарю за помощь!!!
К сообщению приложен файл: _2.xls (83.5 Kb) · .xlsx.xls (80.5 Kb)


Сообщение отредактировал cekist - Суббота, 14.04.2018, 21:48
 
Ответить
СообщениеДоброго времени суток! В ходе работы возникла острая необходимость в вашей помощи. Суть вопроса, как можно сделать так чтобы, если в столбце продажа была заполнена ячейка, то в доном столбце все ячейки за этот день были заполнены символом !. Как вариант 10 ячеек вверх десять вниз от заполненной ячейки . Очень благодарю за помощь!!!

Автор - cekist
Дата добавления - 14.04.2018 в 21:40
nilem Дата: Воскресенье, 15.04.2018, 07:49 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
cekist, привет
вариант 10 ячеек вверх десять вниз от заполненной ячейки
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 16 Then Exit Sub
If Target.Value <> "продажа" Then Exit Sub

Dim x, i&
With Target
    If .Row > 11 Then i = 10 Else i = .Row - 2
End With
With Target.Offset(-i).Resize(i + 11)
    x = .Value
    For i = 1 To UBound(x)
        If IsEmpty(x(i, 1)) Then x(i, 1) = "!"
    Next i
    .Value = x
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеcekist, привет
вариант 10 ячеек вверх десять вниз от заполненной ячейки
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 16 Then Exit Sub
If Target.Value <> "продажа" Then Exit Sub

Dim x, i&
With Target
    If .Row > 11 Then i = 10 Else i = .Row - 2
End With
With Target.Offset(-i).Resize(i + 11)
    x = .Value
    For i = 1 To UBound(x)
        If IsEmpty(x(i, 1)) Then x(i, 1) = "!"
    Next i
    .Value = x
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 15.04.2018 в 07:49
cekist Дата: Среда, 30.05.2018, 17:46 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток!
Не получается запустить !!!
К сообщению приложен файл: 0617017.jpg (27.8 Kb)
 
Ответить
СообщениеДоброго времени суток!
Не получается запустить !!!

Автор - cekist
Дата добавления - 30.05.2018 в 17:46
_Boroda_ Дата: Среда, 30.05.2018, 18:00 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16672
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Конечно. Этот макрос нужно сувать в модуль листа. Тпнитесь правой мышой в ярлык нужного листа - выберите Исходный текст и вставьте в появившееся окошко этот макрос


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКонечно. Этот макрос нужно сувать в модуль листа. Тпнитесь правой мышой в ярлык нужного листа - выберите Исходный текст и вставьте в появившееся окошко этот макрос

Автор - _Boroda_
Дата добавления - 30.05.2018 в 18:00
cekist Дата: Среда, 30.05.2018, 18:16 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток!
Не получается запустить !!!
К сообщению приложен файл: 2559276.jpg (30.0 Kb)
 
Ответить
СообщениеДоброго времени суток!
Не получается запустить !!!

Автор - cekist
Дата добавления - 30.05.2018 в 18:16
Manyasha Дата: Среда, 30.05.2018, 18:25 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
все ячейки за этот день были заполнены символом !

вариант:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Count > 1 Then Exit Sub
    If Target.Column <> 16 Then Exit Sub

    
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Dim x, i&, lr&
    lr = Cells(Rows.Count, 2).End(xlUp).Row
    If Target.Value = "продажа" Then
        For i = 2 To lr
            If CDate(Cells(i, 2)) = CDate(Cells(Target.Row, 2)) Then
                If Cells(i, 16) <> "продажа" Then Cells(i, 16).Value = "!"
            End If
        Next i
    End If
    Application.ScreenUpdating = True
    Application.EnableEvents = True
End Sub
[/vba]

Макрос срабатывает при изменении листа.

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

[p.s.]
Зачем Вы макрос на ctrl+c повесили?[/p.s.]
К сообщению приложен файл: 7071436.xlsm (48.8 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение
все ячейки за этот день были заполнены символом !

вариант:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Count > 1 Then Exit Sub
    If Target.Column <> 16 Then Exit Sub

    
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Dim x, i&, lr&
    lr = Cells(Rows.Count, 2).End(xlUp).Row
    If Target.Value = "продажа" Then
        For i = 2 To lr
            If CDate(Cells(i, 2)) = CDate(Cells(Target.Row, 2)) Then
                If Cells(i, 16) <> "продажа" Then Cells(i, 16).Value = "!"
            End If
        Next i
    End If
    Application.ScreenUpdating = True
    Application.EnableEvents = True
End Sub
[/vba]

Макрос срабатывает при изменении листа.

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

[p.s.]
Зачем Вы макрос на ctrl+c повесили?[/p.s.]

Автор - Manyasha
Дата добавления - 30.05.2018 в 18:25
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполоненные пустых ячеек в столбце исходя из даты продажи. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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