Помогите заменить значение в ячейке

Программирование на Visual Basic for Applications
Kesar
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.04.2007 (Ср) 7:58
Откуда: Екатеринбург

Помогите заменить значение в ячейке

Сообщение Kesar » 19.04.2007 (Чт) 12:31

Есть строки пустые и нет как сделать формулой или в VBA так что бы в пустые значение проставить верхние строки непустые вот пример где пусто должно быть предыдущее значение

Данные столбец А
Т000976
пустая строка
пустая строка
Т000931
пустая строка

Формула столбец В
ЕСЛИ(ЕОШ(A2="");ЗАМЕНИТЬ(A2;"";ДЛСТР(A2);ПОИСК("Реализация";A:A));A2)

Должнополучиться столбец B

Т000976
Т000976
Т000976
Т000931
Т000931

Но не получается подскажите я начинающий прошу не смеятся хотябы попробывал

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.04.2007 (Чт) 12:39

Kesar, скажи честно - ты читал описания этих функций (на русском, кстати, языке), или ты их выбрал чисто по названиям? :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Kesar
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.04.2007 (Ср) 7:58
Откуда: Екатеринбург

Сообщение Kesar » 19.04.2007 (Чт) 12:51

только по названию

Kesar
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.04.2007 (Ср) 7:58
Откуда: Екатеринбург

Сообщение Kesar » 19.04.2007 (Чт) 12:54

я начинающий прошу не смеятся

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.04.2007 (Чт) 13:07

У тебя странное восприятие реалий.
Никто не собирается смеяться над тем, что ты начинающий.

А вот над тем, что ты выбираешь чисто по названию, не читая описания и не думая, вот над этим можно с удовольствием поржать. И закрыть этот топик, и никогда сюда не возвращаться. Ибо, чаще всего люди, действующие так, не стоят того, чтобы им помогали. Это моё личное мнение.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Kesar
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.04.2007 (Ср) 7:58
Откуда: Екатеринбург

Сообщение Kesar » 19.04.2007 (Чт) 13:15

Извини я понял почему ты так среагировал
Ход моих мыслей был следущий Если А2 пустая то Заменяем ее на ту в которой есть слово реализация а ЕОШ нужно для того чтобы не вылезали Знач!
Почему слово "реализация" так как в примере я сократил данные а в реальности они выглядят Реализация T000976, Реализация T000931 и тд

ЕСЛИ(ЕОШ(A2="");ЗАМЕНИТЬ(A2;"";ДЛСТР(A2);ПОИСК("Реализация";A:A));A2)

Kesar
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.04.2007 (Ср) 7:58
Откуда: Екатеринбург

Сообщение Kesar » 19.04.2007 (Чт) 13:20

Понимаю что функция заменить не подходит по этому и прошу помочь
незнаю что поставить
Зафиксировать ячейку ведь тоже не пойдет они меняются

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 19.04.2007 (Чт) 13:22

Мдя. Не смеяться не получается...

Если я правильно понял "ТЗ", то в ячейку B1 пишем формулу "=A1", а формула для ячейки B2 должна быть такой:

=ЕСЛИ(A2="";B1;A2)

После этого вторая формула растягивается вниз.

Если не работает, значит, ты плохо сформулировал задание :)
Быть... или не быть. Вот. В чём вопрос?

Чудовище под кроватью
Обычный пользователь
Обычный пользователь
 
Сообщения: 88
Зарегистрирован: 27.11.2006 (Пн) 14:46
Откуда: А из ника не ясно?

Сообщение Чудовище под кроватью » 19.04.2007 (Чт) 13:25

  1. Выделяешь первый столбец
  2. Данные -> Автофильтр
  3. В появившемся на столбце автофильтре в выпадающем списке выбираешь Пустые
  4. После фильтрации видимы только строки, где столбец А пустой
  5. В первой попавшейся строке в столбце А пишешь формулу:
    =СМЕЩ(ссылка_на_эту_пустую_ячейку;-1;0)
  6. Протягиваешь автозаполнением эту формулу на все ячейки
  7. Данные -> Автофильтр. Убираешь галочку

В итоге там, где было пусто, появятся формулы.

2 GSerg:
:D Сердит :)
У-у-у!!

Kesar
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.04.2007 (Ср) 7:58
Откуда: Екатеринбург

Сообщение Kesar » 19.04.2007 (Чт) 13:30

ну и фигню ж я наделал
на самом деле проще простого
все работает спасибо большое

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 21.04.2007 (Сб) 12:37

Чудовище под кроватью писал(а):
  1. Выделяешь первый столбец
  2. Данные -> Автофильтр
  3. В появившемся на столбце автофильтре в выпадающем списке выбираешь Пустые
  4. После фильтрации видимы только строки, где столбец А пустой
  5. В первой попавшейся строке в столбце А пишешь формулу:
    =СМЕЩ(ссылка_на_эту_пустую_ячейку;-1;0)
  6. Протягиваешь автозаполнением эту формулу на все ячейки
  7. Данные -> Автофильтр. Убираешь галочку
В итоге там, где было пусто, появятся формулы.


Еще вариант:

- выбираем весь ранг сверху вниз
- меню Правка-Перейти...
- кнопка Выделить...
- опция Пустые ячейки
- кнопка ОК
- в панели формул пишем =A1
(где A1 - ссылка на ближайшую ячейку над самой верхней из выбранных)
- кнопка ОК
Привет,
KL


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 82

    TopList