Добрый день, форумчане. Помогите сделать макрос по поиску данных. Задача такая в столбце есть примерно 600 ФИО, нужно что бы макрос добавил столбец например "В" и в этом столбце напротив нашел только определенны ФИО и вставил "Резидент" или "Нерезидент"
Добрый день, форумчане. Помогите сделать макрос по поиску данных. Задача такая в столбце есть примерно 600 ФИО, нужно что бы макрос добавил столбец например "В" и в этом столбце напротив нашел только определенны ФИО и вставил "Резидент" или "Нерезидент"baaur
Sub resnotres() Dim i& Dim ar() ar = Array("Резидент", "Не резидент") Randomize For i = 2 To [a65535].End(xlUp).Row Cells(i, 2).Value = ar(Round(Rnd, 0)) Next End Sub
[/vba]
А нафига вам макрос? Это формулами решается элементарно.
[vba]
Код
Sub resnotres() Dim i& Dim ar() ar = Array("Резидент", "Не резидент") Randomize For i = 2 To [a65535].End(xlUp).Row Cells(i, 2).Value = ar(Round(Rnd, 0)) Next End Sub
[/vba]
А нафига вам макрос? Это формулами решается элементарно.SkyPro
Спасибо SkyPro, но это не совсем то что нужно. Макрос нужен для того что бы постоянно не делать формулу. Постараюсь выразить мысль правильно, постоянно выгружаются с базы списки, каждый раз прописывать формулу и данные не удобно и смысла нет. из за этого прошу сделать макрос, то есть наверное было бы лутше если в макросе было бы, например введены в макрос данные (ФИО определенных сотрудников) и если макрос их находит в данном списке то добавляет рядом столбец и вносит на против тех кто в списке макроса "Нерезидент", а всем остальным кто не в списке макроса тов том же добавленном столбце напротив каждого ФИО вводит "Резидент". если бы это был только разовый список, то конечно я бы и не парился, а так прошу помощи.
Спасибо SkyPro, но это не совсем то что нужно. Макрос нужен для того что бы постоянно не делать формулу. Постараюсь выразить мысль правильно, постоянно выгружаются с базы списки, каждый раз прописывать формулу и данные не удобно и смысла нет. из за этого прошу сделать макрос, то есть наверное было бы лутше если в макросе было бы, например введены в макрос данные (ФИО определенных сотрудников) и если макрос их находит в данном списке то добавляет рядом столбец и вносит на против тех кто в списке макроса "Нерезидент", а всем остальным кто не в списке макроса тов том же добавленном столбце напротив каждого ФИО вводит "Резидент". если бы это был только разовый список, то конечно я бы и не парился, а так прошу помощи.baaur
Так может покажете в каком виде у вас список резидентов? Или лучше сделать макрос вам, а потом его переделать, так как у вас список "в яйце, яйцо в сундуке.." ?
Так может покажете в каком виде у вас список резидентов? Или лучше сделать макрос вам, а потом его переделать, так как у вас список "в яйце, яйцо в сундуке.." ?SkyPro
Так может покажете в каком виде у вас список резидентов? Или лучше сделать макрос вам, а потом его переделать, так как у вас список "в яйце, яйцо в сундуке.." ?
На странице Данные - Данные, на странице результат - то что должно получится
Так может покажете в каком виде у вас список резидентов? Или лучше сделать макрос вам, а потом его переделать, так как у вас список "в яйце, яйцо в сундуке.." ?
На странице Данные - Данные, на странице результат - то что должно получитсяbaaur
Понял. Значит "резидент\не резидент" проставляем случайным образом. Тогда макрос, который я предложил выше прекрасно подходит. Только вторую двойку на тройку замените.
[p.s.]Если не совсем понятно, то это был сарказм. Ни я, ни Эксель, ни ВБА - не являемся экстрасенсами. Откуда нам знать кто из этого списка резидент, а кто нет?
Понял. Значит "резидент\не резидент" проставляем случайным образом. Тогда макрос, который я предложил выше прекрасно подходит. Только вторую двойку на тройку замените.
[p.s.]Если не совсем понятно, то это был сарказм. Ни я, ни Эксель, ни ВБА - не являемся экстрасенсами. Откуда нам знать кто из этого списка резидент, а кто нет?SkyPro
skypro1111@gmail.com
Сообщение отредактировал SkyPro - Вторник, 24.12.2013, 11:29
Нет нет, не случайным образом. Вот именно что не резиденты постоянные, а все остальные могут меняться (добавлятся или удалятся). То есть в макрос ввести определенные ФИО когда он именно их находит ставит "Нерезидент", а всем остальным "Резидент".
Нет нет, не случайным образом. Вот именно что не резиденты постоянные, а все остальные могут меняться (добавлятся или удалятся). То есть в макрос ввести определенные ФИО когда он именно их находит ставит "Нерезидент", а всем остальным "Резидент".baaur
For i = 1 To UBound(allAr) yesno = False For v = 0 To UBound(notresAr) If allAr(i, 1) = notresAr(v) Then yesno = True End If Next If yesno = True Then allAr(i, 2) = "Нерезидент" Else allAr(i, 2) = "Резидент" End If Next Range("B1:C" & [b65535].End(xlUp).Row) = allAr End Sub
[/vba]
[vba]
Код
Sub resnotres() Dim allAr Dim notresAr() Dim i&, v& Dim yesno As Boolean
For i = 1 To UBound(allAr) yesno = False For v = 0 To UBound(notresAr) If allAr(i, 1) = notresAr(v) Then yesno = True End If Next If yesno = True Then allAr(i, 2) = "Нерезидент" Else allAr(i, 2) = "Резидент" End If Next Range("B1:C" & [b65535].End(xlUp).Row) = allAr End Sub
Sub resnotres() Dim allAr Dim notresAr() Dim VID() Dim i&, v& Dim yesno As Byte
allAr = Range("B1:C" & [b65535].End(xlUp).Row).Value notresAr = Array("Антонова Арина Владимировна", "Баханович Тамара Станиславовна", "Бизякина Анастасия Анатольевна", "Болквадзе Тенгиз Николаевич") VID = Array("Алексахина Ирина Вячеславовна")
For i = 1 To UBound(allAr) yesno = 0 For v = 0 To UBound(notresAr) If allAr(i, 1) = notresAr(v) Then yesno = 1 End If Next
For v = 0 To UBound(VID) If allAr(i, 1) = notresAr(v) Then yesno = 2 End If Next
Select Case yesno Case 0 allAr(i, 2) = "Резидент" Case 1 allAr(i, 2) = "Нерезидент" Case 2 allAr(i, 2) = "Вид на жительство" End Select Next Range("B1:C" & [b65535].End(xlUp).Row) = allAr End Sub
[/vba]
[vba]
Код
Sub resnotres() Dim allAr Dim notresAr() Dim VID() Dim i&, v& Dim yesno As Byte
allAr = Range("B1:C" & [b65535].End(xlUp).Row).Value notresAr = Array("Антонова Арина Владимировна", "Баханович Тамара Станиславовна", "Бизякина Анастасия Анатольевна", "Болквадзе Тенгиз Николаевич") VID = Array("Алексахина Ирина Вячеславовна")
For i = 1 To UBound(allAr) yesno = 0 For v = 0 To UBound(notresAr) If allAr(i, 1) = notresAr(v) Then yesno = 1 End If Next
For v = 0 To UBound(VID) If allAr(i, 1) = notresAr(v) Then yesno = 2 End If Next
Select Case yesno Case 0 allAr(i, 2) = "Резидент" Case 1 allAr(i, 2) = "Нерезидент" Case 2 allAr(i, 2) = "Вид на жительство" End Select Next Range("B1:C" & [b65535].End(xlUp).Row) = allAr End Sub
Здравствуйте) помогите с макросом 2. В наборе данных содержится информация об итогах зим- ней сессии. Сведения о каждом студенте (всего 30) заданы в виде: фамилия, номер группы, оценка 1, оценка 2, оценка 3; в фамилии не более 12 букв, номер группы из 101…116, оценка – это 2, 3, 4, 5; экзамены: математика, физика, информатика. Написать про- грамму, которая вводит эту информацию и печатает следующие данные: а) фамилии студентов, имеющих задолженность; б) процент студентов, сдавших все экзамены на «5» и «4».
Здравствуйте) помогите с макросом 2. В наборе данных содержится информация об итогах зим- ней сессии. Сведения о каждом студенте (всего 30) заданы в виде: фамилия, номер группы, оценка 1, оценка 2, оценка 3; в фамилии не более 12 букв, номер группы из 101…116, оценка – это 2, 3, 4, 5; экзамены: математика, физика, информатика. Написать про- грамму, которая вводит эту информацию и печатает следующие данные: а) фамилии студентов, имеющих задолженность; б) процент студентов, сдавших все экзамены на «5» и «4».Настек