Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перемножение чисел в ячейке, но не всех - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перемножение чисел в ячейке, но не всех (Макросы/Sub)
Перемножение чисел в ячейке, но не всех
r-yuriy Дата: Понедельник, 15.05.2017, 20:33 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день!

Прошу помощи с такой задачей:
В ячейке exel вбиты числа и символы "х" . Как перемножить между все собой числа, но до последнего символа "х"
Так, например:
"2х2х0,5" должно дать результат 4
"10х4х0,75" должно дать результат 40
"6х0,5" должно дать результат 6

Спасибо.
 
Ответить
СообщениеДобрый день!

Прошу помощи с такой задачей:
В ячейке exel вбиты числа и символы "х" . Как перемножить между все собой числа, но до последнего символа "х"
Так, например:
"2х2х0,5" должно дать результат 4
"10х4х0,75" должно дать результат 40
"6х0,5" должно дать результат 6

Спасибо.

Автор - r-yuriy
Дата добавления - 15.05.2017 в 20:33
Roman777 Дата: Понедельник, 15.05.2017, 21:15 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 780
Репутация: 88 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
[vba]
Код
Function Перемножение(r As Range, simb As String)
Dim mas, i&, mult&
   mas = Split(r.Text, simb)
   mult = 1
   For i = 0 To UBound(mas) - 1
      mult = mult * mas(i)
   Next i
   Перемножение = mult
End Function
[/vba]
Пользовательская функция


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Понедельник, 15.05.2017, 21:16
 
Ответить
Сообщение[vba]
Код
Function Перемножение(r As Range, simb As String)
Dim mas, i&, mult&
   mas = Split(r.Text, simb)
   mult = 1
   For i = 0 To UBound(mas) - 1
      mult = mult * mas(i)
   Next i
   Перемножение = mult
End Function
[/vba]
Пользовательская функция

Автор - Roman777
Дата добавления - 15.05.2017 в 21:15
Nic70y Дата: Понедельник, 15.05.2017, 21:19 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4080
Репутация: 871 ±
Замечаний: 0% ±

Excel 2013
Код
=ВЫЧИСЛИТЬ(ПОДСТАВИТЬ(ЛЕВСИМВ(ПОДСТАВИТЬ(Лист1!A1;"х";ПОВТОР(" ";99);ДЛСТР(Лист1!A1)-ДЛСТР(ПОДСТАВИТЬ(Лист1!A1;"х";)));ДЛСТР(Лист1!A1));"х";"*"))
К сообщению приложен файл: 2206685.xlsm(8Kb)


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)
 
Ответить
Сообщение
Код
=ВЫЧИСЛИТЬ(ПОДСТАВИТЬ(ЛЕВСИМВ(ПОДСТАВИТЬ(Лист1!A1;"х";ПОВТОР(" ";99);ДЛСТР(Лист1!A1)-ДЛСТР(ПОДСТАВИТЬ(Лист1!A1;"х";)));ДЛСТР(Лист1!A1));"х";"*"))

Автор - Nic70y
Дата добавления - 15.05.2017 в 21:19
r-yuriy Дата: Понедельник, 15.05.2017, 21:37 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо, то что нужно!
 
Ответить
СообщениеСпасибо, то что нужно!

Автор - r-yuriy
Дата добавления - 15.05.2017 в 21:37
RAN Дата: Понедельник, 15.05.2017, 22:07 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4532
Репутация: 920 ±
Замечаний: 0% ±

2010
[vba]
Код
Function Мяу(s$)
    s = Replace(Replace(s, "x", "*"), "х", "*")
    Мяу = Evaluate(Left(s, InStrRev(s, "*") - 1))
End Function
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Function Мяу(s$)
    s = Replace(Replace(s, "x", "*"), "х", "*")
    Мяу = Evaluate(Left(s, InStrRev(s, "*") - 1))
End Function
[/vba]

Автор - RAN
Дата добавления - 15.05.2017 в 22:07
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перемножение чисел в ячейке, но не всех (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!