Страницы: 1
RSS
Преобразование типов данных для вывода в диалоговом окне проекта
 
подскажите что не так ?
написал формулу в эксель для нахождения максимального числа в диапазоне столбца - в редакторе макросов она командой
Код
MsgBox ActiveCell.Formulalocal

отображается как
Код
A=MAX(BIRKI!A1:A100)

а в теле макроса горит красным как ошибочная
 
попробуйте
Код
MsgBox CStr(ActiveCell.FormulaLocal)

т.е. сначала в строку преобразовать

P.S. Предлагаю название темы "преобразование типов данных для вывода в диалоговом окне проекта"
Изменено: Пытливый - 28.02.2018 15:58:41
Кому решение нужно - тот пример и рисует.
 
нашел. надо брать в кавычки:
Код
Range("F10") = "=MAX(BIRKI!A1:A100)"

еще если можно вопрос . ввел переменную LastRow (номер последней строки столбца А)
пишу:
Код
Range("F10") = "=MAX(BIRKI!A1:A & LastRow)"

не проходит.
помогите с синтаксисом
 
Все, что внутри ячеек (КАВЫЧЕК!!!!!) для программы = строка. Если надо объединить неизменяемую часть с переменной, надо так:
Код
"=MAX(BIRKI!A1:A" & LastRow & ")"
Изменено: Пытливый - 28.02.2018 15:16:21
Кому решение нужно - тот пример и рисует.
 
спасибо.
 
извиняюсь. еще одно уточнение:
формула:
Код
 LastRow = Sheets("BIRKI").Cells(Rows.Count, 1).End(xlUp).Row
 
Код
Range("F10") = "=MAX(BIRKI!A1:A" & LastRow & ")"
выдает в ячейке результат нормально - в числовом виде
а если я присваиваю переменной  значение формулы:
 
Код
s = "=MAX(BIRKI!A1:A" & LastRow & ")"

оно присваивает переменной не значение
как правильно написать чтобы переменной присваивало именно число (результат формулы) ?

спасибо
Изменено: brother_alex - 28.02.2018 15:58:11
 
Вы в переменную запихиваете строку, в которой содержится формула с переменной частью. Но в переменную s попадает именно строка с каким-то фиксированным значением переменной. Не пишите формулу в переменную, вычисляйте значение и уже ЗНАЧЕНИЕ пишите в переменную.
Код
s= Application.WorksheetFunction.Max(Worksheets("BIRKI").Range("A3:A" & t))
Кому решение нужно - тот пример и рисует.
 
WorksheetFunction.MAX(...) в помощь.
Страницы: 1
Наверх