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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск через кнопку ,с удалением последующей записи - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск через кнопку ,с удалением последующей записи (Макросы/Sub)
Поиск через кнопку ,с удалением последующей записи
DKeT Дата: Среда, 24.04.2019, 17:00 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 52
Репутация: 3 ±
Замечаний: 20% ±

Excel 2007
здравствуйте, подскажите пожалуйста после того как вводим год 2013 все выводит, но когда мы вводим 1999, а из 2 записи, в некоторых столбцах остается предыдущая запись, как это убрать?
К сообщению приложен файл: 6977107.xlsm (31.3 Kb) · 2494484.png (78.8 Kb)


Сообщение отредактировал DKeT - Среда, 24.04.2019, 17:03
 
Ответить
Сообщениездравствуйте, подскажите пожалуйста после того как вводим год 2013 все выводит, но когда мы вводим 1999, а из 2 записи, в некоторых столбцах остается предыдущая запись, как это убрать?

Автор - DKeT
Дата добавления - 24.04.2019 в 17:00
DKeT Дата: Среда, 24.04.2019, 17:05 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 52
Репутация: 3 ±
Замечаний: 20% ±

Excel 2007
получается когда вводим следующий запрос, остается от предыдущий записи и не удаляется
К сообщению приложен файл: 8205979.png (51.7 Kb)
 
Ответить
Сообщениеполучается когда вводим следующий запрос, остается от предыдущий записи и не удаляется

Автор - DKeT
Дата добавления - 24.04.2019 в 17:05
K-SerJC Дата: Четверг, 25.04.2019, 10:56 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
от предыдущий записи и не удаляется

так?
[vba]
Код
Sub Кнопка2_Щелчок()
Dim ILastrow As Long, Jlastrow As Long, I As Integer, J As Integer, God As String
God = InputBox("Введите год!", "")
If Not IsNumeric(God) Then GoTo A
If God < 1900 Or God > 2099 Then GoTo A
With Sheets(1) 'работаем с листом исходных данных
    ILastrow = .Cells(Rows.Count, 1).End(xlUp).Row ' сколько трок занято в 1 колонке
    Sheets(2).Select 'работаем с листом приёма данных
    Jlastrow = Cells(Rows.Count, 1).End(xlUp).Row + 1 ' сколько трок занято в 1 колонке
    If Jlastrow > 3 Then Rows("4:" & Jlastrow).ClearContents ' если есть занятые строки - чистим
    
    Jlastrow = 3
    For I = 3 To ILastrow ' идём по исходным
        If InStr(1, .Cells(I, 5), God) > 0 Then ' если есть год
            Jlastrow = Jlastrow + 1 ' первая пустая
            .Range("A" & I & ":H" & I).Copy Destination:=Range("A" & Jlastrow)
        End If
    Next
End With
Exit Sub
A: MsgBox "Фигня какая-то"
End Sub
[/vba]
К сообщению приложен файл: DKeT-2.xlsm (27.0 Kb)


Благими намерениями выстелена дорога в АД.

Сообщение отредактировал K-SerJC - Четверг, 25.04.2019, 10:57
 
Ответить
Сообщение
от предыдущий записи и не удаляется

так?
[vba]
Код
Sub Кнопка2_Щелчок()
Dim ILastrow As Long, Jlastrow As Long, I As Integer, J As Integer, God As String
God = InputBox("Введите год!", "")
If Not IsNumeric(God) Then GoTo A
If God < 1900 Or God > 2099 Then GoTo A
With Sheets(1) 'работаем с листом исходных данных
    ILastrow = .Cells(Rows.Count, 1).End(xlUp).Row ' сколько трок занято в 1 колонке
    Sheets(2).Select 'работаем с листом приёма данных
    Jlastrow = Cells(Rows.Count, 1).End(xlUp).Row + 1 ' сколько трок занято в 1 колонке
    If Jlastrow > 3 Then Rows("4:" & Jlastrow).ClearContents ' если есть занятые строки - чистим
    
    Jlastrow = 3
    For I = 3 To ILastrow ' идём по исходным
        If InStr(1, .Cells(I, 5), God) > 0 Then ' если есть год
            Jlastrow = Jlastrow + 1 ' первая пустая
            .Range("A" & I & ":H" & I).Copy Destination:=Range("A" & Jlastrow)
        End If
    Next
End With
Exit Sub
A: MsgBox "Фигня какая-то"
End Sub
[/vba]

Автор - K-SerJC
Дата добавления - 25.04.2019 в 10:56
DKeT Дата: Пятница, 26.04.2019, 11:45 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 52
Репутация: 3 ±
Замечаний: 20% ±

Excel 2007
K-SerJC, вроде да, скажите пожалуйста , а если мне нужно чтоб он выдавал все записи до 37 столбца я тут должна указать ?
[vba]
Код
If Jlastrow > 3 Then Rows("4:" & Jlastrow).ClearContents ' если есть занятые строки - чистим
[/vba]
 
Ответить
СообщениеK-SerJC, вроде да, скажите пожалуйста , а если мне нужно чтоб он выдавал все записи до 37 столбца я тут должна указать ?
[vba]
Код
If Jlastrow > 3 Then Rows("4:" & Jlastrow).ClearContents ' если есть занятые строки - чистим
[/vba]

Автор - DKeT
Дата добавления - 26.04.2019 в 11:45
DKeT Дата: Пятница, 26.04.2019, 11:49 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 52
Репутация: 3 ±
Замечаний: 20% ±

Excel 2007
K-SerJC, вроде да, скажите пожалуйста , а если мне нужно чтоб он выдавал все записи до 37 столбца я тут должна указать ?
If Jlastrow > 3 Then Rows("4:" & Jlastrow).ClearContents ' если есть занятые строки - чистим

все поняла, поменять вот тут :[vba]
Код
.Range("A" & I & ":H" & I).Copy Destination:=Range("A" & Jlastrow)
[/vba]
 
Ответить
Сообщение
K-SerJC, вроде да, скажите пожалуйста , а если мне нужно чтоб он выдавал все записи до 37 столбца я тут должна указать ?
If Jlastrow > 3 Then Rows("4:" & Jlastrow).ClearContents ' если есть занятые строки - чистим

все поняла, поменять вот тут :[vba]
Код
.Range("A" & I & ":H" & I).Copy Destination:=Range("A" & Jlastrow)
[/vba]

Автор - DKeT
Дата добавления - 26.04.2019 в 11:49
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск через кнопку ,с удалением последующей записи (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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