Надо очистить данные студента, диапазон отмечен. Но после удаления порядковые номера снова встать по возрастанию.
Другие языки программирования и технологии
помогите с vba excel
Надо очистить сточку. Для этого мы выбираем из combobox данные, которые хотим удалить, и при нажатии button удаляем строку. Но как это сделать ума не приложу. Надо удалить строку какого-либо студента (диапазон отмечен), данные из второй страницы удаляться не должны.
Надо очистить данные студента, диапазон отмечен. Но после удаления порядковые номера снова встать по возрастанию.
Надо очистить данные студента, диапазон отмечен. Но после удаления порядковые номера снова встать по возрастанию.Во-первых, как Эксель делит лист на страницы? По формату листа, который задается в меню Файл - Параметры страницы (размер страницы, ориентация, поля, колонтитулы и всё прочее) .
Если из 1 страницы удалить строку, то первая строка из 2 страницы перескочит на 1 страницу.
Если ты хочешь, чтобы не перескакивала, надо вставить между ними разрыв страниц.
Во-вторых, делаешь простое действие. Меню Сервис - Макросы - Записать макрос - появится маленькое окошко с кнопкой "Остановить запись" - встаешь на нужную строку - меню Правка - Удалить.. . -Строку.
Если же надо не удалить, а очистить строку, то есть сделать её пустой, то выделяешь строку и нажимаешь Delete.
После этого нажимаешь на эту кнопочку "Остановить запись".
Далее, меню Сервис - Макросы - Редактор Visual Basic - попадаешь в редактор и видишь там свою команду удаления (или очистки) строки, записанную в виде макроса. Полдела сделано.
Теперь, насчёт combobox.
Нужное значение выбирается по свойству Value. То есть на какую строчку в списке ты встал, такое значение Value и получил. Поэтому пишем так:
i = 2 ' В 1 строке обычно заголовок, со 2 строки начинаются данные
Do While Cells(i, 1) <> ""
If Cells(i, 2) = ComboBox1.Value Then ' Cells(i, 2) - это проверяемая ячейка. Если у тебя данные в списке взяты не из 2, а, например, из 4 столбца, то пишешь соответственно Cells(i, 4)
(здесь ты вставляешь ту команду на удаление строки)
End If
i = i + 1
Loop
Примерно так.
Если из 1 страницы удалить строку, то первая строка из 2 страницы перескочит на 1 страницу.
Если ты хочешь, чтобы не перескакивала, надо вставить между ними разрыв страниц.
Во-вторых, делаешь простое действие. Меню Сервис - Макросы - Записать макрос - появится маленькое окошко с кнопкой "Остановить запись" - встаешь на нужную строку - меню Правка - Удалить.. . -Строку.
Если же надо не удалить, а очистить строку, то есть сделать её пустой, то выделяешь строку и нажимаешь Delete.
После этого нажимаешь на эту кнопочку "Остановить запись".
Далее, меню Сервис - Макросы - Редактор Visual Basic - попадаешь в редактор и видишь там свою команду удаления (или очистки) строки, записанную в виде макроса. Полдела сделано.
Теперь, насчёт combobox.
Нужное значение выбирается по свойству Value. То есть на какую строчку в списке ты встал, такое значение Value и получил. Поэтому пишем так:
i = 2 ' В 1 строке обычно заголовок, со 2 строки начинаются данные
Do While Cells(i, 1) <> ""
If Cells(i, 2) = ComboBox1.Value Then ' Cells(i, 2) - это проверяемая ячейка. Если у тебя данные в списке взяты не из 2, а, например, из 4 столбца, то пишешь соответственно Cells(i, 4)
(здесь ты вставляешь ту команду на удаление строки)
End If
i = i + 1
Loop
Примерно так.
скинь док. мне на почту - посмотрю
Похожие вопросы
- VBA EXCEL. Где найти список формул по английски??? чтоб потом вписывать формулы через VBA.
- Программа с массивом VBA Excel.
- Помогите пожалуйста построить прямоугольник в VBA (Excel). Как не пытаюсь-постоянно выдаются ошибки.
- Не могу разобраться с VBA Excel 2003 как копировать содер жимое одной ячейки в другую
- Как в VBA (Excel 2007) первые листы всех XLS файлов в папке перенести в один XLS файл?
- VBA (Excel)
- VBA Excel Обработка ошибки
- Здравствуйте! Помогите с программой Excel
- помогите с VBA
- помогите по vba