>Подскажите ,пожалуйста, как мне все числа в столбце умножить на одно и то же число!
Попробуйте так:
Допустим в ячейку А1 вводится число, на которое нужно умножить числа в столбце В, а результаты поместить в столбце С. Создаем формулу с абсолютной ссылкой в ячейке С1: "=B1*$A1$1". Затем эту функцию копируем в ячейки С2-С...
Каждое число столбца B будет умножаться на число в ячейке А1. Все
Столкнулся с проблемой. Хочу сделать связь между двумя всплывающими списками. Первый список работает нормально, а второй по функции INDIRECT не выдает то, что нужно (в ячейке появляется название другого столбца, а не второй всплывающий список). Все списки созданы, но причину такого результата понять не могу.
И вторая проблема - при выборе элемента из второго всплывающего списка необходимо автоматическое появления стоимости данного элемента в соседней ячейке. Есть идеи реализовать такую возможность через макрос или встроенную функцию VLOOKUP, но никак не получается.
> Есть идеи реализовать такую возможность через макрос или встроенную функцию VLOOKUP, но никак не получается.
С VLOOKUP замечательно все работает.
Обратите внимание на последний параметр функции Range_lookup. Если значение для параметра Range_lookup не задано или передаете TRUE, то первая колонка LOOKUP-таблицы должна быть ОТСОРТИРОВАНА ПО ВОЗРАСТАНИЮ!
Хотелось бы взглянуть на Вашу книгу. Дайте ссылку или вышлите на адрес "sens at tut.by"
> Первый список работает нормально, а второй по функции INDIRECT не выдает то, что нужно (в ячейке появляется название другого столбца, а не второй всплывающий список).
Стас, может для Open Office такое поведение и имеет место , но в Excel это работает нормально.
> И вторая проблема - при выборе элемента из второго всплывающего списка необходимо автоматическое появления стоимости данного элемента в соседней ячейке. Есть идеи реализовать такую возможность через макрос или встроенную функцию VLOOKUP, но никак не получается.
Посмотрел ваш файл.
Формула для ячейки D2 будет такая:
=IF(B2="Сегментные";VLOOKUP(C2;Price!$A$3:$D$10;4);IF(B2="Матричные"; VLOOKUP(C2;Price!$B$3:$E$16;4);"НЕИЗВЕСТНОЕ значение в поле ТИП"))
Настоятельно рекмоендую еще раз внимательно изучить раздел справки по функции VLOOKUP.
Правда, в Open Office не работает. Но я попробую выполнить всё в обычном Excel.
Спасибо ещё раз и простите за беспокойство.
P.S. А формулу суммы двух ячеек разных таблиц я реализовал через таблицу размером 1*1 с отключенной функцией видимых границ и уменьшением её до необходимого размера ))))
Помогите разобраться с проблемой. Есть таблица в ИНтернете. которая обновляется самостояльно примерно раз в минуту. Импорт внешних данных у меня получился (Импорт внешних данных-Веб запрос). Настроил обновление через 1 мин. Все обновляется. Но необходимо сохранять предыдущие значения для вычислений или отображения. Можно ли этого достичь, не прибегая к VBA?
Sens, приветствую! Хотелось бы прояснить такой вопрос: если в EXCEL копирую ячейку с текстом, а затем содержимое буфера обмена вставляю в тело письма (ОЕ), то получается не совсем текст. Как бы прямоугольник с рамкой белого (невидимого) цвета с угловыми и центральными маркерами для изменения размера. А внутри его текст. Если сначала из буфера копирую в WORD, а затем из него в письмо, то все получается как надо. Может как-то по особому команду на копирование нужно давать?
С прикреплением макросом файла к письму полная ЗАСАДА...
Sens, приветствую! Хотелось бы прояснить такой вопрос: если в EXCEL копирую ячейку с текстом, а затем содержимое буфера обмена вставляю в тело письма (ОЕ), то получается не совсем текст. ...
ОТВЕТ:
зайди в адрессную строку (вверху) выдели текст там и скопируй.
> Хотелось бы прояснить такой вопрос: если в EXCEL копирую ячейку с текстом, а затем содержимое буфера обмена вставляю в тело письма (ОЕ), то получается не совсем текст. Как бы прямоугольник с рамкой белого (невидимого) цвета с угловыми и центральными маркерами для изменения размера.
Руками это делаете или макросом?
И почему не подходит для этих целей Simple MAPI, где не надо заморачиваться с копированиями?
> С прикреплением макросом файла к письму полная ЗАСАДА...
В чем именно заключается "засада"? Какой код испольуете? Версия Outlook Express?
Мне так кажется, что вопросы имеют большее отношение все же к Outlook Express, чем к Excel. ;)
Добрый день! Подскажите пожалуйста, как мне правильно записать формулу СЧЕТЕСЛИ на VBA. Есть таблица 20 строк(в каждой строке цифры от 1 до 8),и 33 столбца.Мне надо в 34 столбце подсчитать количество ячеек, где стоят цифры < 8. Такой у меня код:
> как мне правильно записать формулу СЧЕТЕСЛИ на VBA. Есть таблица 20 строк(в каждой строке цифры от 1 до 8),и 33 столбца.Мне надо в 34 столбце подсчитать количество ячеек, где стоят цифры < 8.
Во-первых, если используете название формул на русском, то вместо свойства FormulaR1C1 воспользуйетсь FormulaR1C1Local.
Во-вторых:
> Мне надо в 34 столбце подсчитать количество ячеек, где стоят цифры < 8.
Уточните, для каждой строки в отдельности или нужна общая сумма для ВСЕЙ ТАБЛИЦЫ?
Если для каждой строки в отдельности, то
можно использовать такой код (и циклов здесь никаких не надо):
>Попробую еще раз. У меня вот есть такой табель рабочего времени. Мне надо, чтобы в 36 столбце (AJ ), при помощи иконки “неполный день” пользователь мог получать данные, сколько времени человек не доработал в месяц до положенных 8 часов.. В Excel я знаю, как делать, там у меня стоят формулы. А вот как через VBA никак не могу.
Получил Ваш файл с табелем.
Добавьте такую процедуру перед CommandButton8_Click()
Скажите пож надо найти аналог функции MS Excel ПОВТОР в VBA. Тоесть я хочу в коже макроса использовать функцию, а там ведь надо на английском варианте.
Каков вообще порядок нахождения английского названия, если знаешь русское ?
Как мне скопировать из Excel в Word полный вид, т.е. вместе с буквами и цифрами которыми обозначаются столбцы и строки. Help ???????????????????? Уже ничего придумать не могу.
коллеги, вопрос по экселю. есть список e-mail (оч.большой) нужно удалить все что стоить до символа собачка, что бы остались одни имена доменов. как это сдалать с помощью замены ?
Страницы
>Подскажите ,пожалуйста, как мне все числа в столбце умножить на одно и то же число!
Попробуйте так:
Допустим в ячейку А1 вводится число, на которое нужно умножить числа в столбце В, а результаты поместить в столбце С. Создаем формулу с абсолютной ссылкой в ячейке С1: "=B1*$A1$1". Затем эту функцию копируем в ячейки С2-С...
Каждое число столбца B будет умножаться на число в ячейке А1. Все
Столкнулся с проблемой. Хочу сделать связь между двумя всплывающими списками. Первый список работает нормально, а второй по функции INDIRECT не выдает то, что нужно (в ячейке появляется название другого столбца, а не второй всплывающий список). Все списки созданы, но причину такого результата понять не могу.
И вторая проблема - при выборе элемента из второго всплывающего списка необходимо автоматическое появления стоимости данного элемента в соседней ячейке. Есть идеи реализовать такую возможность через макрос или встроенную функцию VLOOKUP, но никак не получается.
Помогите, пожалуйста.
С уважением, Стас.
> Есть идеи реализовать такую возможность через макрос или встроенную функцию VLOOKUP, но никак не получается.
С VLOOKUP замечательно все работает.
Обратите внимание на последний параметр функции Range_lookup. Если значение для параметра Range_lookup не задано или передаете TRUE, то первая колонка LOOKUP-таблицы должна быть ОТСОРТИРОВАНА ПО ВОЗРАСТАНИЮ!
Хотелось бы взглянуть на Вашу книгу. Дайте ссылку или вышлите на адрес "sens at tut.by"
Файл, который вы прислали, не в формате Excel. Наверное, Open Office используете? ;)
> Первый список работает нормально, а второй по функции INDIRECT не выдает то, что нужно (в ячейке появляется название другого столбца, а не второй всплывающий список).
Стас, может для Open Office такое поведение и имеет место , но в Excel это работает нормально.
> И вторая проблема - при выборе элемента из второго всплывающего списка необходимо автоматическое появления стоимости данного элемента в соседней ячейке. Есть идеи реализовать такую возможность через макрос или встроенную функцию VLOOKUP, но никак не получается.
Посмотрел ваш файл.
Формула для ячейки D2 будет такая:
=IF(B2="Сегментные";VLOOKUP(C2;Price!$A$3:$D$10;4);IF(B2="Матричные"; VLOOKUP(C2;Price!$B$3:$E$16;4);"НЕИЗВЕСТНОЕ значение в поле ТИП"))
Настоятельно рекмоендую еще раз внимательно изучить раздел справки по функции VLOOKUP.
Удачи!
Спасибо большое Вам за Вашу помощь!
Правда, в Open Office не работает. Но я попробую выполнить всё в обычном Excel.
Спасибо ещё раз и простите за беспокойство.
P.S. А формулу суммы двух ячеек разных таблиц я реализовал через таблицу размером 1*1 с отключенной функцией видимых границ и уменьшением её до необходимого размера ))))
С прикреплением макросом файла к письму полная ЗАСАДА...
Спасибо
Калининград, 19 ноября 2007 года, 00:14
Sens, приветствую! Хотелось бы прояснить такой вопрос: если в EXCEL копирую ячейку с текстом, а затем содержимое буфера обмена вставляю в тело письма (ОЕ), то получается не совсем текст. ...
ОТВЕТ:
зайди в адрессную строку (вверху) выдели текст там и скопируй.
> Хотелось бы прояснить такой вопрос: если в EXCEL копирую ячейку с текстом, а затем содержимое буфера обмена вставляю в тело письма (ОЕ), то получается не совсем текст. Как бы прямоугольник с рамкой белого (невидимого) цвета с угловыми и центральными маркерами для изменения размера.
Руками это делаете или макросом?
И почему не подходит для этих целей Simple MAPI, где не надо заморачиваться с копированиями?
> С прикреплением макросом файла к письму полная ЗАСАДА...
В чем именно заключается "засада"? Какой код испольуете? Версия Outlook Express?
Мне так кажется, что вопросы имеют большее отношение все же к Outlook Express, чем к Excel. ;)
Private Sub CommandButton8_Click()
NumStr = 10
Worksheets(1).Activate
For i = 1 To 20 ' строки
With Worksheets("Лист1") For j = 3 To 33 'столбцы
.Cells(NumStr, j).FormulaR1C1
= "СЧЕТЕСЛИ ({R10C1),"<8")"
NumStr = NumStr + 1
Next j
End With
End Sub
> как мне правильно записать формулу СЧЕТЕСЛИ на VBA. Есть таблица 20 строк(в каждой строке цифры от 1 до 8),и 33 столбца.Мне надо в 34 столбце подсчитать количество ячеек, где стоят цифры < 8.
Во-первых, если используете название формул на русском, то вместо свойства FormulaR1C1 воспользуйетсь FormulaR1C1Local.
Во-вторых:
> Мне надо в 34 столбце подсчитать количество ячеек, где стоят цифры < 8.
Уточните, для каждой строки в отдельности или нужна общая сумма для ВСЕЙ ТАБЛИЦЫ?
Если для каждой строки в отдельности, то
можно использовать такой код (и циклов здесь никаких не надо):
Range("AH2:AH21").FormulaR1C1 = "=COUNTIF(RC[-33]:RC[-1],""<8"")"
Для всей таблицы -
Range("AH22").FormulaR1C1 = "=COUNTIF(R[-20]C[-33]:R[-1]C[-1],""<8"")"
Предполагается, что данные расположены в диапазоне A2:AG21
В-третьих:
не совсем понятно для чего в данной ситуации использовать VBA, если все хорошо решается с помощью формул? :)
Не совсем понятно
> А нельзя ли мне написвть Вам на эл.почту, мне не все понятно, наверное я не грамотно описала свою проблему.
файл можете выслать на адрес sens at tut.by
Вопрос пишите здесь. Оперативность ответа в любом случае не гарантируется, все-таки это ведь не платная тех.поддержка ;)
>А в адресе где @ стоит?
наверное вместо at и без пробелов конечно же :)
>Попробую еще раз. У меня вот есть такой табель рабочего времени. Мне надо, чтобы в 36 столбце (AJ ), при помощи иконки “неполный день” пользователь мог получать данные, сколько времени человек не доработал в месяц до положенных 8 часов.. В Excel я знаю, как делать, там у меня стоят формулы. А вот как через VBA никак не могу.
Получил Ваш файл с табелем.
Добавьте такую процедуру перед CommandButton8_Click()
Sub FillFormulas()
Dim r As Range
Set r = Worksheets(1).Range("AJ10:AJ35")
For RowNum = 1 To r.Rows.Count Step 2
r.Cells.Item(RowNum, 1).FormulaR1C1 =
"=8*COUNTIF(RC[-33]:RC[-3],""<8"")-SUMIF(RC[-33]:RC[-3],""<8"")"
Next RowNum
End Sub
и вставьте ее вызов в CommandButton8_Click()
Private Sub CommandButton8_Click()
FillFormulas
End Sub
Успехов!
Каков вообще порядок нахождения английского названия, если знаешь русское ?
> Каков вообще порядок нахождения английского названия, если знаешь русское ?
1) Добавьте в книгу макрос
Sub ShowFormulaEng()
MsgBox Selection.Formula
End Sub
2) введите в ячейку формулу на русском
3) выделите ячейку и вызовите макрос ShowFormulaEng, который выдаст на экран формулу с названиями функций на английском.
Если хотите использовать формлу листа в макросе, то это делается через объект Application.WorkSheetFunction
Пример:
' найти минимальное значение в диапазоне A1:C10
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
> . есть список e-mail (оч.большой) нужно удалить все что стоить до символа собачка, что бы остались одни имена доменов.
Воспользуйтесь формулой.
Если данные находятся в диапазоне B1:B100, то:
1) в ячейку C1 введите формулу
=ПСТР(B1;НАЙТИ("@";B1)+1;ДЛСТР(B1))
2) скопируйте формулу из C1 в ячейки C2:C100.
Успехов!
20490
27490
15990
29490
23490
21490
Как повысить цены быстрее на 100р? Есть ли специальная формула? " = +(сумма)" не подходит тк не удобная.
если кто знает напишите на [email protected] либо здесь. Спасибо.
Отправил на ящик книгу с примером
Страницы