×
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 30 из 35
  1. Новичек
    Гость

    Excel и VBA. Помогите :-)(Посимвольная обработка строк?)

    Требуется решить такую задачу:
    Есть поля-Имена есть значение этих полей в виде цифр.
    Например
    Лист1.
    A B C D E

    Лариса 1 2 3 4
    Тамара 5 6 7 8
    Света 1 7 3 4

    Во втором листе требуется ввести наименование и получить значения ячеек из первого листа перемноженных на заданное число(яч.F)
    Лист2.
    A B C D F
    Лариса Л1.B1*Л2.F1 Л1.С1*Л2.F1 Л1.D1*Л2.F1


    После ввода наименования требуется чтоб значения выставились автоматически.Изначально лист2 пустой.
    Помогите если это возможно!!!!Пожалуйста :-)))
    Поделиться с друзьями

  2. Клерк Аватар для asa
    Регистрация
    04.12.2002
    Адрес
    Москва
    Сообщений
    938
    Новичек, боюсь (если это не подвох), что в ЭТОЙ теме форума можно получить неадекватный ответ.

  3. Клерк
    Регистрация
    13.08.2002
    Адрес
    СССР
    Сообщений
    404
    1) Вставляем на Лист2 или в любое удобное место элемент управления ComboBox (Меню\Вид\Панели инструментов\Элементы управления - вставляем в режиме конструктора - треугольник).
    2) Теперт делаем ссылку на наш список девушек - свойства объекта Combobox ListFillRange - записываем там ссылку вида 'Лист1!А1:А100
    3) Делаем два щелчка мышью на нашем ComboBoxe - автоматически создается процедура, обрабатывающая наш выбор. Доступ к выбранной девушке - через индекс ComboBox.ListIndex например
    CurrentGirl=ComboBox.ListIndex
    4) По этому индексу читаем данные на листе Лист1 и переносим на лист Лист2:
    Row=ComboBox.ListIndex
    Sheets("Лист2").Cells(1, 1)=Sheets("Лист1").Cells(Row, 2)*Sheets("Лист2").Cells(1, 6) и т.д. и т.п.
    Записи конечно можно упростить, завести какие-нибудь циклы и т.п. Должно работать!

  4. Клерк
    Регистрация
    13.08.2002
    Адрес
    СССР
    Сообщений
    404
    Пример работы со списком в VBA Excele.
    Вложения Вложения

  5. Клерк
    Регистрация
    26.12.2001
    Адрес
    Иваново
    Сообщений
    365
    Новичок! Ты попал не туда со своим вопросом. Сейчас я тебе помогу, как только используешь мою формулу - черкни здесь. Я тогда это дело отсюда уберу.
    Итак, именуем диапазон со списком на первом листе ( в твоём примере это А1:Е3 или там, А2:Е4) каким нибудь именем, например, "База".
    Далее в первом столбце листа 2 вводим нужные имена, а в ячейки В - Е соответствующих строк пишем форулу:
    =ВПР(RC1;База;(СТОЛБЕЦ()))*R1C6 или =ВПР($A2;База;(СТОЛБЕЦ()))*$F$1 - здесь первый вариант лучше, для адресации типа R1C1, а второй - для A1, но я написал пример для второй строки. Первый вариант не зависит от строки, он будет работать везде. Авторой вариант нужно написать во второй строке (или вместо $A2 писать, например, $A1 или $A3) и копировать в остальные ячейки (например, А2:Е4).

    P.S. Пример КрэйзиБуха интересный, но это из пушки по воробьям - VBA-процедуры для простейшей задачки.
    Последний раз редактировалось MMM; 09.07.2003 в 00:22.
    (под)опытный клерк

  6. Клерк
    Регистрация
    26.12.2001
    Адрес
    Иваново
    Сообщений
    365
    Раз уж ты новичок, я решил пояснить ещё, как работает формула.
    Здесь внутри вложена функция СТОЛБЕЦ() - без аргументов она возвратит номер текущего столбца (в котором записана формула) - для А - 1, для В - 2, для С - 3 и т.д.
    Функция ВПР (вертикальный просмотр) имеет (здесь) 3 аргумента:
    1) RC1 или $A1 - искомое значение. Это смешанная ссылка: здесь указан абсолютно стобец (первый) и относительно строка (текущая). Т.е., поскольку в первом столбце написаны имена, то они и будут искомым значением (например, Лариса).
    2) диапазон поиска. В нашем случае - диапазон с именем "База".
    3) номер столбца, из которого нужно взять в диапазоне значение, стоящее в той строке, в которой найдено в Базе искомое значение.
    А потом это возвращённое значение просто умножаем на значение, находящееся в ячейке F1 (пишем её абсолютный адрес, чтобы формулу можно было ввести один раз, а затем растянуть на нужный диапазон (скопировать).
    Во как!
    Последний раз редактировалось MMM; 09.07.2003 в 00:32.
    (под)опытный клерк

  7. Фырчун Аватар для Dracosha Andrew
    Регистрация
    07.02.2002
    Адрес
    Санкт-Петербург
    Сообщений
    2,259
    Э-э-э-э??Э-э-э... А не перекинете в "Программирование для клерков?"
    Всех благ!!!
    Чувелёв Андрей

    ps: Всё вышеизложенное является моим частным мнением и не может претендовать на полноту изложения.

  8. Клерк
    Регистрация
    13.08.2002
    Адрес
    СССР
    Сообщений
    404
    По просьбе трудящихся клерков Модификация программы пример списка.xls - из элемента управления Combobox можно перейти на заданные страницы в книге. Список необходимых страниц, попадающих в Combobox, обновляется автоматически.
    Вложения Вложения

  9. киник Аватар для stas®
    Регистрация
    24.02.2002
    Адрес
    Москва
    Сообщений
    36,131
    офтопик...
    CrazyBuh, сто лет, сто зим... Рад видеть

  10. Клерк
    Регистрация
    26.12.2001
    Адрес
    Иваново
    Сообщений
    365
    Как я по всему по этому соскучился, ей Бо!
    Вспоминаю вас частенько добрым словом.
    Кто тут модерирует, уберите, коль захочется - не против.
    Миха.
    (под)опытный клерк

  11. киник Аватар для stas®
    Регистрация
    24.02.2002
    Адрес
    Москва
    Сообщений
    36,131
    MMM, а уж как мы соскучились

  12. Фырчун Аватар для Dracosha Andrew
    Регистрация
    07.02.2002
    Адрес
    Санкт-Петербург
    Сообщений
    2,259
    Да тут нет офтопика, что вы!!!

    Пусть люди учатся!!
    Всех благ!!!
    Чувелёв Андрей

    ps: Всё вышеизложенное является моим частным мнением и не может претендовать на полноту изложения.

  13. Клерк
    Регистрация
    20.10.2005
    Сообщений
    6
    Здравствуйте!
    У меня проблемка точно такая же как и у Новичка. Но мне необходмы конкретные уточнения,т.к. я совсем еще зеленая в Excel'е.
    Задача:
    Есть база данных. Фамилии и суммы.
    А В
    Иванов 12
    петров 15
    Сидоров 16

    Мне необходимо, чтобы функция искала нужную фамилию на нескольких листах, указанных мною и при нахождении суммировала цифры из столбца, опять же указанного мною. Как я понимаю мне тоже необходима функция ВПР? И еще. у меня Office английский, читая лит-ру по Excel не могу понять о какой функции идет речь, может подскажите ссылочку, где есть рассшифровка русских на английский функций.
    Буду ужасно благодарна[QUOTE]

  14. Клерк
    Регистрация
    04.12.2003
    Адрес
    г.Москва
    Сообщений
    1,576
    katiunchik, боюсь, что такую задачу функцией не решить. Надобно макрос писать, который, используя исходные данные (нужные вам листы ему зададите) будет их шерстить и искать совпадение фамилии - тоже зададите. При нахождении складывать то-то и то-то.... что-нибудь этого типа.
    Хотя, можно попробовать через сводные таблицы. Только там надо выполнять определенные ограничения. Т.е. таблицы должны быть одного вида/структуры и данные (фио сотров, допустим) должны быть в одинаковой последовательности. В сводной для необходимого поля задаем функцию суммирования и, вуаля, получим сумму со всех таблиц. Также в результирующей сводной таблице есть функция выбора - т.е. будет возможность выбрав сотра из списка, отобразить данные только на него. Consolidation, так сказать, ее! :О)
    Все, что может быть - случается. Все что не может быть - тоже случается, причем значительно чаще...

  15. Клерк
    Регистрация
    20.10.2005
    Сообщений
    6
    А чутка поподробнее Таблица на самом деле одной структуры, а вот фио идут не в одной последовательности. тут-то все и начинается может все-таки без макроса можно, просто есть же функция ПОИСК, вот и пусть она ищет заданную мною фамилию. Вот только вопрос КАКАЯ функция? И если можно Вы мне функции на англ. пишите, а то я долго буду искать ее.
    Сдается мне без макроса никак, а в макросах, я полный чайник.

  16. Клерк
    Регистрация
    04.12.2003
    Адрес
    г.Москва
    Сообщений
    1,576
    если порядок сотров в таблицах разный - то без макроса, ИМХО, не обойтись. Функция "поиск" в данном случае не поможет, потому как не будет "знать" что искать и сколько раз (т.е. это ей должен будет пользователь задать), а в этом случае теряется весь смысл - ведь задача стоит переложить эти манипуляции на машину.
    Могу предложить выход - сделать-таки таблицы единообразно и через консолидирующую таблицу выводить нужный отчет. Пример консолидирующей таблицы прилагается.
    Вложения Вложения
    • Тип файла: xls Book1.xls (10.0 Кб, Просмотров: 685)
    Последний раз редактировалось Пытливый; 21.10.2005 в 11:33.
    Все, что может быть - случается. Все что не может быть - тоже случается, причем значительно чаще...

  17. Chokoladka
    Гость

    Ecxel - переводчик

    Вот сижу и парюсь...такая задача, даны два столбца (сколько сло неважно, например по 10) - столбец с русскими словами, столбец с их переводом....(при этом они должны быть отсортированы - а ведь можно сортировать только один, иначе порядок нарушится)...надо тремя способами написать переводчика в ОБЕ стороны, т.е. вводится слово, как русское, так и английское (ну, естественно, проходит через обработчик ошибок на предмет пребывания в списке), и переведится...вот сижу ломаю голову, у меня категорически не хочет переводиться в обе стороны - только rus-eng...

    Способы:
    1. - с помощью функции ПРОСМОТР
    2. - ВПР
    3. С помощь двух функций: ИНДЕКС(ПОИСКПОЗ())...

    вот так

  18. Клерк
    Регистрация
    04.12.2003
    Адрес
    г.Москва
    Сообщений
    1,576
    ИМХО, через индекс. Чтобы один и тот же индекс был ключевым полем для двух слов РУС и АНГЛ. Потом, в зависимости от того в какую сторону надо перевести - используем индекс слова заданного для перевода и ищем такой же индекс в списке слов переведенных. А что за изврат - переводчик в Excel? База данных была бы удобнее - например в Access.
    Все, что может быть - случается. Все что не может быть - тоже случается, причем значительно чаще...

  19. Chokoladka
    Гость
    понятно, что удобнее, я б лучше программульку написала бы)) гораздо проще и рациональнее....но это было просто задание на знание Excel'я...я, кстати, еще помучалась и всеми тремя способами решила...если интересно - расскажу как....хотя вряд ли кому-то такая галимотья интересна))))

  20. Фырчун Аватар для Dracosha Andrew
    Регистрация
    07.02.2002
    Адрес
    Санкт-Петербург
    Сообщений
    2,259
    Интересно, интересно!!!
    Всех благ!!!
    Чувелёв Андрей

    ps: Всё вышеизложенное является моим частным мнением и не может претендовать на полноту изложения.

  21. Бухтелка Аватар для Programada
    Регистрация
    23.06.2003
    Адрес
    Москва/Мытищи
    Сообщений
    693
    Еще как иинтресно
    Женщина должна быть красивой, любимой и счастливой, и больше она никому ничего не должна.

  22. Клерк
    Регистрация
    20.10.2005
    Сообщений
    6
    Здравствуйте! Никак не могу понять почему не работает функция ЕОШИБКА(НАЙТИ())? У меня разделитель точка, но это функция никак не желает искать точку! А при замене запятая, конечно же выдает ноль. Вообще мне не совсем понятна функция ЕОШИБКА, может кто объяснит неучу как она пработает? Читать читала, но понять все равно не поняла.

  23. Клерк
    Регистрация
    04.12.2003
    Адрес
    г.Москва
    Сообщений
    1,576
    Функция ЕОШИБКА проверяет, является ли значение ее аргумента ошибкой.
    Если да - то истина, нет - ложь.
    Ошибка обозначается системными сообщениями, например #REF! или #N/A
    В вашем случае, насколько я понял, функция найти ищет символ "." И в случае, если не найден этот символ ошибку не выдает. И, соответственно, функция ЕОшибка не работает.
    Все, что может быть - случается. Все что не может быть - тоже случается, причем значительно чаще...

  24. Element
    Гость

    Помогите трудность с задачей.

    Здраствуйте, ради бога простите за беспокойство, но мне срочно нужна помощь, в решении простенькой задачи)

    Задача решаеться в Excel на Visual Basic

    "создайте таблицу с фамилиями сотрудников. Реализуйте добавление нового сотрудника в таблицу с соблюдением алфавитного поряда. Отследите попытку ввода одного и того же сотрудника"

    надеюсь что мне кто-нибудь сможет хоть как-то помочь)
    заранее благодарю)

  25. Клерк Аватар для Annchen
    Регистрация
    01.08.2007
    Сообщений
    102
    Может кто мне может помочь?
    Проблема вот какая.
    Есть список фамилий и второй столбец с цифрами. Мне нужно, что бы отдельно, на это же или другом листе, не важно, печатались оба столбца отобранные с условием, что во втором столбце число больше 0. Т.е. Нужен список фамилий, у которых во втором столбце стояло число больше 0.
    У самой у меня не получается... Заранее спасибо.

  26. Клерк Аватар для YUM
    Регистрация
    30.06.2005
    Адрес
    Санкт-Петербург
    Сообщений
    6,223
    Цитата Сообщение от Annchen Посмотреть сообщение
    Может кто мне может помочь?
    Проблема вот какая.
    Есть список фамилий и второй столбец с цифрами. Мне нужно, что бы отдельно, на это же или другом листе, не важно, печатались оба столбца отобранные с условием, что во втором столбце число больше 0. Т.е. Нужен список фамилий, у которых во втором столбце стояло число больше 0.
    У самой у меня не получается... Заранее спасибо.
    А просто автофильтр данных не подходит? Второй столб >0
    Или нужно чтобы оно постоянноработало, в динамике?
    Напишите макрос, поерзайте с текстом, подключите на кнопочку...
    На мое ИМХО, просьба не опираться!
    Когда я говорю,
    складывается впечатление, что я брежу(©)

  27. Клерк Аватар для Annchen
    Регистрация
    01.08.2007
    Сообщений
    102
    Лучше всего конечно чтобы оно все время работало, а с авто фильтром получается что нужно после кажого изменения делать все заново.
    А самой написать макрос....вы очень хорошего мнения о моих знаниях в этой облости. Я еще почти ничего не могу. Я думала может как без этого можно... Я бы с удовольствием научилась это делать сама но пока как-то не очень. Пойду еще подумаю.

  28. Фырчун Аватар для Dracosha Andrew
    Регистрация
    07.02.2002
    Адрес
    Санкт-Петербург
    Сообщений
    2,259
    Annchen, зачем заново? Просто включаете когда надо автофильтр и выключаете когда он не нужен.
    Всех благ!!!
    Чувелёв Андрей

    ps: Всё вышеизложенное является моим частным мнением и не может претендовать на полноту изложения.

  29. Клерк Аватар для Annchen
    Регистрация
    01.08.2007
    Сообщений
    102
    затем что список все время меняется и каждый раз после ввода фамий нужно было лезть в авто фильтр, так как сам он не обнавлялся. Но я ужу сделала как мне надо было. Вам, кстати, спасибо, навели на дельную мыслю как сделать то что мне нужно силами того что я умею

  30. Клерк Аватар для YUM
    Регистрация
    30.06.2005
    Адрес
    Санкт-Петербург
    Сообщений
    6,223
    Цитата Сообщение от Annchen Посмотреть сообщение
    Лучше всего конечно чтобы оно все время работало, а с авто фильтром получается что нужно после кажого изменения делать все заново.
    А самой написать макрос....вы очень хорошего мнения о моих знаниях в этой облости. Я еще почти ничего не могу. Я думала может как без этого можно... Я бы с удовольствием научилась это делать сама но пока как-то не очень. Пойду еще подумаю.
    Написать макрос совсем просто: продумали последовательность движения мышкой.Нажали кнопку- "записать макрос", в окошке = дали имя внятное, лучше - латиницей. Поехали! Проделали всю последовательность работы с данными.Нажали кнопочку- выключить запись.
    В "параметрах" добавили строку меню "элементы управления", нашли кнопочку ("CommandButton"), перетащили на лист(двойным кликом) , нажали правую глазку у мыши, в edit -назвали ПУСК, в Свойствах - сменили цвет, вставили картинку... В "Исходном тексте" между
    Private Sub CommandButton1_Click() и End Sub
    пишем Call Module1. Название модуля видно в верхнем окне(VBAProject) Как только после названия модуля ставим точку, VBA выдает список макросов в этом модуле.
    Не забываем отключить режим конструктора (зеленый треугольник) на активном листе.
    На мое ИМХО, просьба не опираться!
    Когда я говорю,
    складывается впечатление, что я брежу(©)

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)