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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2015, 16:40   #1
lapin912
Пользователь
 
Регистрация: 18.10.2015
Сообщений: 22
По умолчанию (excel_2010_VBA) Поиск ячейки с данными и запись текста в соседнюю ячейку

День добрый! Помогите написать скрипт. Есть таблица, нужно найти ячейку с данными, например 12:30:00:00 и слева от неё вписать текст допустим "Пуск".
Вложения
Тип файла: xlsx на форум.xlsx (32.8 Кб, 14 просмотров)

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

Код:
range("B:B").Find("12:30:00:00").Previous = "Пуск"

Последний раз редактировалось EducatedFool; 18.10.2015 в 17:26.
EducatedFool вне форума Ответить с цитированием
Старый 18.10.2015, 17:00   #3
lapin912
Пользователь
 
Регистрация: 18.10.2015
Сообщений: 22
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Код:
range("B:B").Find("12:30:00:00").Next = "Пуск"
А как слева чтобы заполнялось? Всё разобрался, Большой респект и человеческое спасибо.

Последний раз редактировалось lapin912; 18.10.2015 в 17:18.
lapin912 вне форума Ответить с цитированием
Старый 18.10.2015, 18:51   #4
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

добрый день,протестируйте еще макрос.

Код:
 Sub start()
   Dim i&, x()
   x = Sheets("123").UsedRange.Value
        For i = 1 To UBound(x)
           If x(i, 2) = "12:30:00:00" Then x(i, 1) = "Пуск"
        Next
   Sheets("123").Range("A1").Resize(UBound(x), UBound(x, 2)).Value = x
 End Sub

Последний раз редактировалось svsh2016; 18.10.2015 в 18:55.
svsh2016 вне форума Ответить с цитированием
Старый 19.10.2015, 03:26   #5
lapin912
Пользователь
 
Регистрация: 18.10.2015
Сообщений: 22
По умолчанию

Цитата:
Сообщение от svsh2016 Посмотреть сообщение
добрый день,протестируйте еще макрос.

Код:
 Sub start()
   Dim i&, x()
   x = Sheets("123").UsedRange.Value
        For i = 1 To UBound(x)
           If x(i, 2) = "12:30:00:00" Then x(i, 1) = "Пуск"
        Next
   Sheets("123").Range("A1").Resize(UBound(x), UBound(x, 2)).Value = x
 End Sub
Спасибо большое тоже рабочий макрос, но если поменяется название Sheets("123"), как быть? Как унифицировать макрос? Тоже разобрался ActiveSheet. Огромное спасибо.

Последний раз редактировалось lapin912; 19.10.2015 в 04:38.
lapin912 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод результата работы макроса в соседнюю ячейку. jumafe Microsoft Office Excel 2 22.03.2012 14:21
Умножение на соседнюю ячейку Pecnekm Microsoft Office Excel 9 10.03.2011 12:04
Автоматическая подстановка соотв. значения в соседнюю ячейку? chandrasecar Microsoft Office Excel 5 28.06.2010 02:01
Как извлечь слово из текстовой ячейки по заданному шаблону и поместить в соседнюю ячейку? Aleox Microsoft Office Excel 4 27.11.2009 19:58
Копирование ячейки с данными и форматированием текста Viento Microsoft Office Excel 4 12.01.2009 12:38