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

Вход

Регистрация

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

 

= Мир MS Excel/Присвоение значения формулы переменной - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Присвоение значения формулы переменной (Макросы/Sub)
Присвоение значения формулы переменной
TimosMN15 Дата: Суббота, 28.03.2015, 23:23 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день.

Заранее извиняюсь за глупый вопрос. Подскажите, пожалуйста, как присвоить значение формулы переменной. Пример файла во вложении.

Заранее спасибо.
К сообщению приложен файл: 4036246.xls (30.5 Kb)
 
Ответить
СообщениеДобрый день.

Заранее извиняюсь за глупый вопрос. Подскажите, пожалуйста, как присвоить значение формулы переменной. Пример файла во вложении.

Заранее спасибо.

Автор - TimosMN15
Дата добавления - 28.03.2015 в 23:23
krosav4ig Дата: Воскресенье, 29.03.2015, 00:06 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Sub присвоить_значение_формулы_переменной()
      Dim n
      n = Evaluate("SUM(" & [A1:A3].Address(, , Application.ReferenceStyle) & ")")
      'или
      'n = Application.Sum([A1:A3])
      [B1] = n
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 29.03.2015, 00:07
 
Ответить
Сообщение[vba]
Код
Sub присвоить_значение_формулы_переменной()
      Dim n
      n = Evaluate("SUM(" & [A1:A3].Address(, , Application.ReferenceStyle) & ")")
      'или
      'n = Application.Sum([A1:A3])
      [B1] = n
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 29.03.2015 в 00:06
TimosMN15 Дата: Воскресенье, 29.03.2015, 00:08 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Спасибо за ответ.
 
Ответить
Сообщениеkrosav4ig, Спасибо за ответ.

Автор - TimosMN15
Дата добавления - 29.03.2015 в 00:08
TimosMN15 Дата: Пятница, 24.04.2015, 22:13 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Еще раз здравствуйте.

Сейчас появился дополнительный вопрос по этой теме. В предыдущем варианте рассматривалась функция "сумм", на этот раз необходимо присвоить переменной значение формулы:
[code]=--ЛЕВСИМВ(B1;9)
Файл во вложении, просьба подсказать, каким образом это можно реализовать?

Заранее спасибо.
К сообщению приложен файл: 5099835.xlsm (14.6 Kb)
 
Ответить
СообщениеЕще раз здравствуйте.

Сейчас появился дополнительный вопрос по этой теме. В предыдущем варианте рассматривалась функция "сумм", на этот раз необходимо присвоить переменной значение формулы:
[code]=--ЛЕВСИМВ(B1;9)
Файл во вложении, просьба подсказать, каким образом это можно реализовать?

Заранее спасибо.

Автор - TimosMN15
Дата добавления - 24.04.2015 в 22:13
nilem Дата: Суббота, 25.04.2015, 07:54 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
TimosMN15, привет
попробуйте так
[vba]
Код
Sub ttt()
Dim s As String
s = Left$(Range("B1"), 10)
Range("C1").Value = s
'or
Dim n As Long
n = Int(Range("B2"))
Range("C2").Value = n
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеTimosMN15, привет
попробуйте так
[vba]
Код
Sub ttt()
Dim s As String
s = Left$(Range("B1"), 10)
Range("C1").Value = s
'or
Dim n As Long
n = Int(Range("B2"))
Range("C2").Value = n
End Sub
[/vba]

Автор - nilem
Дата добавления - 25.04.2015 в 07:54
excelhelprus Дата: Суббота, 25.04.2015, 09:18 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 5 ±
Замечаний: 20% ±

2015
в вашем случае правильнее будет использовать функции даты и времени, т.к. бывает разный формат системного времени и брать как текст не вариант
Например
[vba]
Код
s = Range("B1")
День = Day(s)
If Len(День) = 1 Then День = "0" & День
Месяц = Month(s)
If Len(Месяц) = 1 Then Месяц = "0" & Месяц
Range("C1") = День & "." & Месяц & "." & Year(s)
[/vba]
 
Ответить
Сообщениев вашем случае правильнее будет использовать функции даты и времени, т.к. бывает разный формат системного времени и брать как текст не вариант
Например
[vba]
Код
s = Range("B1")
День = Day(s)
If Len(День) = 1 Then День = "0" & День
Месяц = Month(s)
If Len(Месяц) = 1 Then Месяц = "0" & Месяц
Range("C1") = День & "." & Месяц & "." & Year(s)
[/vba]

Автор - excelhelprus
Дата добавления - 25.04.2015 в 09:18
TimosMN15 Дата: Суббота, 25.04.2015, 10:29 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
excelhelprus, добрый день.
Ваш вариант мне понравился. Подскажите, пожалуйста, а если мне необходимо наоборот, получить время, которое указано с датой, т.е. 22.05.2015 7:00:15 и я хочу, чтобы в ячейке отображалось 7:00:15. Как это можно сделать?
 
Ответить
Сообщениеexcelhelprus, добрый день.
Ваш вариант мне понравился. Подскажите, пожалуйста, а если мне необходимо наоборот, получить время, которое указано с датой, т.е. 22.05.2015 7:00:15 и я хочу, чтобы в ячейке отображалось 7:00:15. Как это можно сделать?

Автор - TimosMN15
Дата добавления - 25.04.2015 в 10:29
excelhelprus Дата: Суббота, 25.04.2015, 15:06 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 5 ±
Замечаний: 20% ±

2015
[vba]
Код
TimeValue(s)
[/vba]
 
Ответить
Сообщение[vba]
Код
TimeValue(s)
[/vba]

Автор - excelhelprus
Дата добавления - 25.04.2015 в 15:06
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Присвоение значения формулы переменной (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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