Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29
1

сделать так чтоб при нажатии убирал повторяющие записи

02.10.2011, 15:04. Показов 1321. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите пожалуйста, есть кнопка при нажатии на которую он распределяет студентов которые сдавали диплом по годам, нужно сделать так, чтоб при повторном нажатии он не дублировал одни и те же надписи
Вложения
Тип файла: xls вба1.xls (66.0 Кб, 18 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2011, 15:04
Ответы с готовыми решениями:

Сделать так, чтобы при нажатии на кнопку на листе excel запускалась процедура записи макроса
Как сделать так, чтобы при нажатии на кнопку на листе excel запускалась процедура записи макроса?...

Как сделать так чтоб ИИ работал так (см.)
ИИ состоит, насколько я знаю из IF(если) INPUT PRINT. Как сделать так чтоб при к примеру:...

Сделать так, чтоб при нажатии на кнопку выходил текст в TextBox
как в VB 6.0 сделать, так чтоб при нажатии на кнопку выходил сохраненный Wordовский текст в...

А можно сделать так чтоб при нажатии кнопке открывался скайп и отправлялось сообщение
вот у меня только такой код System.Diagnostics.Process.Start("skype:ТВОЙ_СКАЙП?add"); это когда...

19
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
02.10.2011, 15:54 2
У тебя же кодом предусмотрена дозапись!
Можно просто очищать лист полностью и записывать поновой:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub CommandButton1_Click()
For Each sh In ActiveWorkbook.Sheets
If sh.Name <> "База" Then
sh.Cells.ClearContents
sh.Range("A1:E1").Value = Sheets("База").Range("A1:E1").Value
End If
Next
    For i = 2 To Sheets(1).Range("A1").End(xlDown).Row
        If Sheets(1).Range("C" & i) = "Диплом" Or Sheets(1).Range("C" & i) = "диплом" Then
            myN = "" & Sheets(1).Range("E" & i) & ""
            myR = Sheets(myN).Range("A1").End(xlDown).Row + 1
            If myR = 65537 Then myR = 2
            'Sheets("" & myN & "").Select
            Sheets(1).Range("A" & i & ":E" & i).Copy Destination:=Sheets(myN).Range("A" & myR)
        End If
    Next
End Sub
1
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29
02.10.2011, 19:48  [ТС] 3
а можно сделать так чтоб он в начале выдовал форму и там было поле фио, группа, вид работы (курсовая/ диплом) и год
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
02.10.2011, 20:45 4
Можно
0
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29
02.10.2011, 21:14  [ТС] 5
а как? очень нужно, помогите пожалуйста
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
02.10.2011, 21:16 6
есть кнопка при нажатии на которую он распределяет студентов
А форма-то при чём?
0
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29
02.10.2011, 21:19  [ТС] 7
нужно создать форму через которую эт все заполнятся и потом распределятся по годам будет
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
02.10.2011, 21:22 8
Лучше бы задание озвучила..
а то ни фига не понятно..
0
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29
02.10.2011, 21:31  [ТС] 9
нужно сделать форму в которой заполняются фио, группа в меню выбирается диплом/курсовая и т.д., название и год, при нажатии на кнопку определяет что если работа является дипломом, то вся строка копируется в таблицу на второй лист, названием которого является год работы.
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
02.10.2011, 21:48 10
А причём тогда первый лист? Или там должно быть всё?
0
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29
02.10.2011, 21:49  [ТС] 11
Цитата Сообщение от Alex77755 Посмотреть сообщение
А причём тогда первый лист? Или там должно быть всё?
да там должно быть все
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
02.10.2011, 21:52 12
Ну так тогда по кнопке надо просто вызывать форму, а по кнопке на форме(после проверки заполненности всех полей) заполнять базу, а потом запускать сортировку(которая уже есть)
0
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29
02.10.2011, 21:54  [ТС] 13
Цитата Сообщение от Alex77755 Посмотреть сообщение
Ну так тогда по кнопке надо просто вызывать форму, а по кнопке на форме(после проверки заполненности всех полей) заполнять базу, а потом запускать сортировку(которая уже есть)
хм...и как эт сделать?
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
02.10.2011, 22:00 14
В редакторе VBE нажать в меню Insert - User Form

Добавлено через 2 минуты
А в коде кнопки прописать:
Visual Basic
1
2
3
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Форма и появится
0
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29
02.10.2011, 22:17  [ТС] 15
а как сделать тогда чтоб при нажатии на форме на кнопку он записывал в таблицу листа База данные?
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
02.10.2011, 22:21 16
Можно сначала считать в переменные значения полей. Потом проверить все ли значения не равны пустому месту. Потом определить количаство записей в базе. Потом дописать в базу новые данные. А потом запустить ту процедуру, что имеется(Запись с сортировкой)
0
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29
02.10.2011, 22:34  [ТС] 17
Цитата Сообщение от Alex77755 Посмотреть сообщение
Можно сначала считать в переменные значения полей. Потом проверить все ли значения не равны пустому месту. Потом определить количаство записей в базе. Потом дописать в базу новые данные. А потом запустить ту процедуру, что имеется(Запись с сортировкой)
я запуталась окончательно %)
лучше скажи что мне написать для кнопки чтоб он записывал в таблицу данные
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
02.10.2011, 22:40 18
Если тебе надо с формой, то код кнопки на листе будет примерно такой:
Visual Basic
1
2
3
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
А вот код кнопки на форме будет значительно сложней
сначала считать в переменные значения полей. Потом проверить все ли значения не равны пустому месту. Потом определить количаство записей в базе. Потом дописать в базу новые данные. А потом запустить ту процедуру, что имеется(Запись с сортировкой)
0
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29
02.10.2011, 23:29  [ТС] 19
и ни че не сложно... заставил меня тут страдать этой фигней!
0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
02.10.2011, 23:41 20
Так скорей бегите, а то ещё научат программировать! Придётся на лекциях скучать☺
1
02.10.2011, 23:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2011, 23:41
Помогаю со студенческими работами здесь

Сделать так, чтоб при нажатии кнопки показывался textblock на 3 секунды и потом уезжал
люди добрые подскажите пожалуйста мне надо чтоб при нажатии кнопки у меня вылетал textblock на 3...

Сделать так, чтоб при нажатии кнопки показывался textblock на 3 секунды и потом уезжал
люди добрые подскажите пожалуйста мне надо чтоб при нажатии кнопки у меня вылетал textblock на 3...

Как сделать так чтоб при нажатии "Ctrl+X" запускался вот этот код:
private void button3_Click(object sender, EventArgs e) { Close(); }

Как сделать так чтоб при нажатии кнопки "enter" происходило нажатие кнопки "button1" на форме
Пишу программу которая должна сложить числа по нажатии кнопки &quot;button1&quot;. Подскажите, пожалуйста,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru