×
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 30 из 35
  1. #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. #2
    Клерк Аватар для asa
    Регистрация
    04.12.2002
    Адрес
    Москва
    Сообщений
    938
    Новичек, боюсь (если это не подвох), что в ЭТОЙ теме форума можно получить неадекватный ответ.

  3. #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. #4
    Клерк
    Регистрация
    13.08.2002
    Адрес
    СССР
    Сообщений
    404
    Пример работы со списком в VBA Excele.
    Вложения Вложения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  17. #17
    Chokoladka
    Гость

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

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

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

    вот так

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

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

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

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

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

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

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

  24. #24
    Element
    Гость

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

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

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

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

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

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

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

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

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

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

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

  30. #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)