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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос для поиска данных и добавление данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для поиска данных и добавление данных (Макросы Sub)
Макрос для поиска данных и добавление данных
baaur Дата: Понедельник, 23.12.2013, 15:26 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день, форумчане.
Помогите сделать макрос по поиску данных.
Задача такая в столбце есть примерно 600 ФИО, нужно что бы макрос добавил столбец например "В" и в этом столбце напротив нашел только определенны ФИО и вставил "Резидент" или "Нерезидент"
 
Ответить
СообщениеДобрый день, форумчане.
Помогите сделать макрос по поиску данных.
Задача такая в столбце есть примерно 600 ФИО, нужно что бы макрос добавил столбец например "В" и в этом столбце напротив нашел только определенны ФИО и вставил "Резидент" или "Нерезидент"

Автор - baaur
Дата добавления - 23.12.2013 в 15:26
baaur Дата: Понедельник, 23.12.2013, 15:39 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Файл во вложении
 
Ответить
СообщениеФайл во вложении

Автор - baaur
Дата добавления - 23.12.2013 в 15:39
baaur Дата: Понедельник, 23.12.2013, 15:41 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Файл во вложении.
К сообщению приложен файл: 6412584.xlsx (8.1 Kb)
 
Ответить
СообщениеФайл во вложении.

Автор - baaur
Дата добавления - 23.12.2013 в 15:41
SkyPro Дата: Понедельник, 23.12.2013, 16:06 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[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]

А нафига вам макрос? Это формулами решается элементарно.
К сообщению приложен файл: 2227709.xlsx (8.6 Kb)


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Понедельник, 23.12.2013, 16:14
 
Ответить
Сообщение[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
Дата добавления - 23.12.2013 в 16:06
baaur Дата: Вторник, 24.12.2013, 09:55 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо SkyPro, но это не совсем то что нужно.
Макрос нужен для того что бы постоянно не делать формулу.
Постараюсь выразить мысль правильно,
постоянно выгружаются с базы списки, каждый раз прописывать формулу и данные не удобно и смысла нет.
из за этого прошу сделать макрос, то есть наверное было бы лутше если в макросе было бы,
например введены в макрос данные (ФИО определенных сотрудников) и если макрос их находит в данном списке то добавляет рядом столбец и вносит на против тех кто в списке макроса "Нерезидент", а всем остальным кто не в списке макроса тов том же добавленном столбце напротив каждого ФИО вводит "Резидент".
если бы это был только разовый список, то конечно я бы и не парился, а так прошу помощи.
 
Ответить
СообщениеСпасибо SkyPro, но это не совсем то что нужно.
Макрос нужен для того что бы постоянно не делать формулу.
Постараюсь выразить мысль правильно,
постоянно выгружаются с базы списки, каждый раз прописывать формулу и данные не удобно и смысла нет.
из за этого прошу сделать макрос, то есть наверное было бы лутше если в макросе было бы,
например введены в макрос данные (ФИО определенных сотрудников) и если макрос их находит в данном списке то добавляет рядом столбец и вносит на против тех кто в списке макроса "Нерезидент", а всем остальным кто не в списке макроса тов том же добавленном столбце напротив каждого ФИО вводит "Резидент".
если бы это был только разовый список, то конечно я бы и не парился, а так прошу помощи.

Автор - baaur
Дата добавления - 24.12.2013 в 09:55
SkyPro Дата: Вторник, 24.12.2013, 10:52 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Так может покажете в каком виде у вас список резидентов? Или лучше сделать макрос вам, а потом его переделать, так как у вас список "в яйце, яйцо в сундуке.." ?


skypro1111@gmail.com
 
Ответить
СообщениеТак может покажете в каком виде у вас список резидентов? Или лучше сделать макрос вам, а потом его переделать, так как у вас список "в яйце, яйцо в сундуке.." ?

Автор - SkyPro
Дата добавления - 24.12.2013 в 10:52
baaur Дата: Вторник, 24.12.2013, 11:23 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Так может покажете в каком виде у вас список резидентов? Или лучше сделать макрос вам, а потом его переделать, так как у вас список "в яйце, яйцо в сундуке.." ?

На странице Данные - Данные, на странице результат - то что должно получится
К сообщению приложен файл: 8435151.xlsx (15.4 Kb)
 
Ответить
Сообщение
Так может покажете в каком виде у вас список резидентов? Или лучше сделать макрос вам, а потом его переделать, так как у вас список "в яйце, яйцо в сундуке.." ?

На странице Данные - Данные, на странице результат - то что должно получится

Автор - baaur
Дата добавления - 24.12.2013 в 11:23
SkyPro Дата: Вторник, 24.12.2013, 11:27 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Понял. Значит "резидент\не резидент" проставляем случайным образом.
Тогда макрос, который я предложил выше прекрасно подходит. Только вторую двойку на тройку замените.

[p.s.]Если не совсем понятно, то это был сарказм.
Ни я, ни Эксель, ни ВБА - не являемся экстрасенсами. Откуда нам знать кто из этого списка резидент, а кто нет?


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Вторник, 24.12.2013, 11:29
 
Ответить
СообщениеПонял. Значит "резидент\не резидент" проставляем случайным образом.
Тогда макрос, который я предложил выше прекрасно подходит. Только вторую двойку на тройку замените.

[p.s.]Если не совсем понятно, то это был сарказм.
Ни я, ни Эксель, ни ВБА - не являемся экстрасенсами. Откуда нам знать кто из этого списка резидент, а кто нет?

Автор - SkyPro
Дата добавления - 24.12.2013 в 11:27
baaur Дата: Вторник, 24.12.2013, 11:33 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Значит "резидент\не резидент" проставляем случайным образом.

Нет нет, не случайным образом.
Вот именно что не резиденты постоянные, а все остальные могут меняться (добавлятся или удалятся).
То есть в макрос ввести определенные ФИО когда он именно их находит ставит "Нерезидент", а всем остальным "Резидент".
 
Ответить
Сообщение
Значит "резидент\не резидент" проставляем случайным образом.

Нет нет, не случайным образом.
Вот именно что не резиденты постоянные, а все остальные могут меняться (добавлятся или удалятся).
То есть в макрос ввести определенные ФИО когда он именно их находит ставит "Нерезидент", а всем остальным "Резидент".

Автор - baaur
Дата добавления - 24.12.2013 в 11:33
baaur Дата: Вторник, 24.12.2013, 11:34 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Они постоянные "Нерезиденты"
Антонова Арина Владимировна
Баханович Тамара Станиславовна
Бизякина Анастасия Анатольевна
Болквадзе Тенгиз Николаевич
 
Ответить
СообщениеОни постоянные "Нерезиденты"
Антонова Арина Владимировна
Баханович Тамара Станиславовна
Бизякина Анастасия Анатольевна
Болквадзе Тенгиз Николаевич

Автор - baaur
Дата добавления - 24.12.2013 в 11:34
SkyPro Дата: Вторник, 24.12.2013, 11:37 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Так?
К сообщению приложен файл: resnotres.xls (49.0 Kb)


skypro1111@gmail.com
 
Ответить
СообщениеТак?

Автор - SkyPro
Дата добавления - 24.12.2013 в 11:37
baaur Дата: Вторник, 24.12.2013, 12:14 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Да все прекрасно!
Только можно ли их добавить в макрос, не привязывая их к определенным ячейкам или адресам?
 
Ответить
СообщениеДа все прекрасно!
Только можно ли их добавить в макрос, не привязывая их к определенным ячейкам или адресам?

Автор - baaur
Дата добавления - 24.12.2013 в 12:14
SkyPro Дата: Вторник, 24.12.2013, 12:23 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub resnotres()
Dim allAr
Dim notresAr()
Dim i&, v&
Dim yesno As Boolean

allAr = Range("B1:C" & [b65535].End(xlUp).Row).Value
notresAr = Array("Антонова Арина Владимировна", "Баханович Тамара Станиславовна", "Бизякина Анастасия Анатольевна", "Болквадзе Тенгиз Николаевич")

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]


skypro1111@gmail.com
 
Ответить
Сообщение[vba]
Код
Sub resnotres()
Dim allAr
Dim notresAr()
Dim i&, v&
Dim yesno As Boolean

allAr = Range("B1:C" & [b65535].End(xlUp).Row).Value
notresAr = Array("Антонова Арина Владимировна", "Баханович Тамара Станиславовна", "Бизякина Анастасия Анатольевна", "Болквадзе Тенгиз Николаевич")

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]

Автор - SkyPro
Дата добавления - 24.12.2013 в 12:23
baaur Дата: Вторник, 24.12.2013, 12:35 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Низкий вам поклон!!!!
Все прекрасно работает!!!!
Спасибо!!!!
 
Ответить
СообщениеНизкий вам поклон!!!!
Все прекрасно работает!!!!
Спасибо!!!!

Автор - baaur
Дата добавления - 24.12.2013 в 12:35
baaur Дата: Вторник, 24.12.2013, 14:38 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Не сочтите за наглость
Можно еще вопрос,
можно ли добавить еще 3-х ФИО что бы в той же колонке выходили как "Вид на жительство"?
 
Ответить
СообщениеНе сочтите за наглость
Можно еще вопрос,
можно ли добавить еще 3-х ФИО что бы в той же колонке выходили как "Вид на жительство"?

Автор - baaur
Дата добавления - 24.12.2013 в 14:38
baaur Дата: Вторник, 24.12.2013, 14:41 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Я пытался добавить в ваш макрос переменную как,
Dim notresAr1()
.
.
.
.
notresAr1 = Array("Алексахина Ирина Вячеславовна")

правда ничего не получилось
 
Ответить
СообщениеЯ пытался добавить в ваш макрос переменную как,
Dim notresAr1()
.
.
.
.
notresAr1 = Array("Алексахина Ирина Вячеславовна")

правда ничего не получилось

Автор - baaur
Дата добавления - 24.12.2013 в 14:41
SkyPro Дата: Вторник, 24.12.2013, 15:02 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Ну добавили вы павильно.. осталось только все это в цикл включить. Сейчас нет времени переписывать.


skypro1111@gmail.com
 
Ответить
СообщениеНу добавили вы павильно.. осталось только все это в цикл включить. Сейчас нет времени переписывать.

Автор - SkyPro
Дата добавления - 24.12.2013 в 15:02
baaur Дата: Вторник, 24.12.2013, 15:08 | Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 70
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо за подсказку, попробую.
 
Ответить
СообщениеСпасибо за подсказку, попробую.

Автор - baaur
Дата добавления - 24.12.2013 в 15:08
SkyPro Дата: Вторник, 24.12.2013, 15:16 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[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
[/vba]


skypro1111@gmail.com
 
Ответить
Сообщение[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
[/vba]

Автор - SkyPro
Дата добавления - 24.12.2013 в 15:16
Настек Дата: Вторник, 24.12.2013, 17:58 | Сообщение № 20
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте) помогите с макросом :(
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».

Автор - Настек
Дата добавления - 24.12.2013 в 17:58
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для поиска данных и добавление данных (Макросы Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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