Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2010, 18:27   #1
Smile2007
Пользователь
 
Регистрация: 08.12.2010
Сообщений: 24
Вопрос Как выделить нужные числа из списка и переместить их в соседнюю ячейку?

Помогите, пожалуйста! Есть огромный список id в числовом формате примерно 50000 записей, они все не по порядку и в разнобой и много повторяются. Мне нужно чтоб я задавала определённое число, эти все числа выделялись и выдвигались вперёд, то есть в ячейку стоящую рядом, но именно вперёд, чтоб не нарушалась последовательность. Можно ли это сделать с помощью Excel, если да то как?
Вот пример:



Как можно автоматизировать данный процесс, а то в ручную 50000 записей будет очень долго?

Последний раз редактировалось Smile2007; 08.12.2010 в 23:01.
Smile2007 вне форума Ответить с цитированием
Старый 08.12.2010, 18:39   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Вот пример:
...
А получилось так:
...
Не увидел никакой разницы...
Где пример в виде файла Excel?
EducatedFool вне форума Ответить с цитированием
Старый 08.12.2010, 18:41   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

сегодня день шуток.в одной из тем архив пустой,здесь игра

играем в игру Найди 1 отличие.Ответ отличий нет

файлик приложите с пояснениями.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 08.12.2010, 19:39   #4
Smile2007
Пользователь
 
Регистрация: 08.12.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Не увидел никакой разницы...
Где пример в виде файла Excel?
Уже исправила, сейчас картинку прикриплю.
Smile2007 вне форума Ответить с цитированием
Старый 08.12.2010, 20:25   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Проверяйте:



Вот весь код:

Код:
Sub test()
    Dim ra As Range: Set ra = Range([A1], Range("A" & Rows.Count).End(IIf(Len(Range("A" & Rows.Count)), xlDown, xlUp))).Resize(, 2)
    arr = ra.Value: Mask$ = ActiveSheet.OLEObjects("textbox1").Object.Value
    For i = LBound(arr) To UBound(arr)
        txt$ = arr(i, 1)
        If txt = Mask Then arr(i, 2) = Mask: arr(i, 1) = ""
        Debug.Print i, txt, Mask, txt = Mask
    Next i
    ra.Value = arr
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 08.12.2010, 20:46   #6
Smile2007
Пользователь
 
Регистрация: 08.12.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Проверяйте:



Вот весь код:

Код:
Sub test()
    Dim ra As Range: Set ra = Range([A1], Range("A" & Rows.Count).End(IIf(Len(Range("A" & Rows.Count)), xlDown, xlUp))).Resize(, 2)
    arr = ra.Value: Mask$ = ActiveSheet.OLEObjects("textbox1").Object.Value
    For i = LBound(arr) To UBound(arr)
        txt$ = arr(i, 1)
        If txt = Mask Then arr(i, 2) = Mask: arr(i, 1) = ""
        Debug.Print i, txt, Mask, txt = Mask
    Next i
    ra.Value = arr
End Sub

Спасибо большое за помощь и за труд. Было бы ещё хорошо, если бы вы мне ещё сказали куда вставить этот код. Наверное вставить как функцию, но какую функцию выбрать? А может я не права, может это связано с VBA, правда я даже не знаю что это такое. Помогите, в каком направлении идти?

Последний раз редактировалось Smile2007; 08.12.2010 в 20:52.
Smile2007 вне форума Ответить с цитированием
Старый 08.12.2010, 21:03   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Помогите, в каком направлении идти?
На картинке не пробовали щелкнуть?
А потом нажать зелёную кнопочку в скачанном файле?

Скачайте пример файла - там уже всё вставлено куда надо.
EducatedFool вне форума Ответить с цитированием
Старый 08.12.2010, 21:11   #8
Smile2007
Пользователь
 
Регистрация: 08.12.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
На картинке не пробовали щелкнуть?
А потом нажать зелёную кнопочку в скачанном файле?

Скачайте пример файла - там уже всё вставлено куда надо.
Не догадалась нажать на картинку, спасибо большое.
Smile2007 вне форума Ответить с цитированием
Старый 08.12.2010, 21:41   #9
Smile2007
Пользователь
 
Регистрация: 08.12.2010
Сообщений: 24
По умолчанию

EducatedFool, проверила, всё отлично работает, спасибо огромное!!!!!
Smile2007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическая подстановка соотв. значения в соседнюю ячейку? chandrasecar Microsoft Office Excel 5 28.06.2010 02:01
Как извлечь слово из текстовой ячейки по заданному шаблону и поместить в соседнюю ячейку? Aleox Microsoft Office Excel 4 27.11.2009 19:58
Переместить строку и данные в ячейку kinogruppa Microsoft Office Excel 7 22.09.2009 21:53
Как в DBgrid выделить определенную ячейку жирным? Dux БД в Delphi 6 10.08.2008 03:42
Как выделить целую часть из числа? Slash Общие вопросы Delphi 3 11.05.2007 00:53