Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Помогите написать макрос

Автор noid2008, 13.07.2011, 03:04

« назад - далее »

noid2008

Помогите написать макрос, чтобы он из всей таблицы находил определенную яцейку, и на этой же строчке через одну ячейку, в следующей яцейке писал определеное значение

GWolf

Цитата: noid2008 от 13.07.2011, 03:04
Помогите написать макрос, чтобы он из всей таблицы находил определенную яцейку, и на этой же строчке через одну ячейку, в следующей яцейке писал определеное значение

Добрый день!
Вы, к сожалению, не прикладываете пример, и по каким условиям искать эту ячейку - тоже не описали. Увы!
Общий случай решения подобной задачи может выглядеть так:

sub proba()
   dim nR as long '- счетчик строк
   dim nC as long '- номер столбца (обязательно, чтобы столбец НЕ ИМЕЛ пустых ячеек)
   
   nR=3 '- устанавливаем стартовое значение счетчика строк
   nC=2 '- номер столбца
   do
      'ищем ячейку, ну например содержащую слово "Crosman 1377" == Start ==
      if cells(nR,nC+1).text="Crosman 1377" then '- если в ячейке, расположенной в обрабатываемой строке и _
                                                                    правее на одну ячейку, находится слово Crosman 1377, то
         cells(nR,nC+3).numberformat="#,##0.00_ ;-#,##0.00 " '- в ячейку, расположенную в обрабатываемой строке и правее на две _
                                                                                              ячейки, выставить числовой формат с разделителями и двумя знаками _
                                                                                              после запятой, и
         cells(nR,nC+3)=1569 '- записать число 1569

      end if '- конец условия

      'ищем ячейку, ну например содержащую слово "Crosman 1377" == Stop  ==

      nR=nR+1 '- увеличиваем счетчик строк на единицу
   loop while cells(nR, nC).text<>"" '- т.е. цикл поиска будет "крутится", пока в столбце nC не обнаружится пустая ячейка
end sub

ну вот, примерно так.
Успеха!
Путей к вершине - множество. Этот один из многих!

noid2008

Что то не получается((
Вот пример ;)

GWolf

Добрый день!

А чего же Вы .xls файл не прикрепили? Не всегда Ваш визави будет иметь время и желание его делать. Ну, это так, в качестве маленькой компенсации за создание .xls примера с Вашими условиями.

На скрепке пример реализации. Правда я бы, для себя, сделал не через InputBox, а через пользовательскую форму, куда бы загрузил все возможные названия книг. А пока так ...

Успеха!
Путей к вершине - множество. Этот один из многих!

noid2008

Большое спасибо :)
Свои недостатки учту ;)