Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Обращение к процедуре из функции
 
Добрый день.

Есть процедура:
Код
Sub raschet (x1 as single, x2 as single, x3 as single)
Dim A1 as Single
Dim B1 as Single
Dim C1 as Single
A1 = x1+x2/x3
B1 = x2 ^ x3 + x1^x3
C1 = x1 * x2 * x3 + x1 / x2
End Sub

Далее хочу сделать функцию, которая внутри себя бы использовала все 3 формулы для расчёта:
Код
Function Parametr_K (param1 as Single, param2 as Single, param3 as Single) as Single
Call raschet (param1, param2, param3)
A1_znach = A1 (param1, param2, param3)
B1_znzch = B1 (param1, param2, param3)
C1_znach = C1 (param1, param2, param3)
Parametr_K = A1_znach * B1_znzch ^ C1_znach
End Function

Понимаю, что функцию Paramet_K я сделал неверно, но как сделать по-другому, не знаю.
Подобных функций хочу создать несколько штук для более сложных расчётов.
Смысл в том, что я хочу в Sub raschet загнать весь расчёт (определяемых параметров гораздо больше), а из него "растаскивать" формулы для расчёта нужных функций.
Возможно ли такое сделать?
Если создавать сначала отдельные функции, то ссылаться на них получается без проблем.
динамическая проверка checkbox
 
Здравствуйте.
Возник вопрос:
На форме имеется много элементов checkbox. Созданы они парами да-нет. Знаю, что надо было объединять optionbutton, но пока хочу решить именно проблему с checkbox. Если нажимаем еi (да), то в случае, если уже была нажата ni (нет), надо сначала отжать ni, а затем совершить манипуляцию с кнопкой ki - присвоить ей ширину 80 вместо 0. Соответственно, для ni отжимается ei и ki - тому назначается ширина 0.
Сделал для первых шести пар ei-ni и надоело. Написала цикл, но смог "посадить" его только на отдельную кнопку. И то, он решает проблему только в случае включенной одной галки, если обе включены, то не работает.
Как решить данную "динамически", без дополнительных кнопок?
Написание циклов для checkbox и commandbutton
 
Здравствуйте.
Вопросы в следующем:
1. есть UserForm1, содержащая Multipage1, на Page6 есть набор кнопок nast1, nast2, nast3 .... nast12
нужно чтобы при нажатии на nast1 открывалась UserForm2, содержащая Multipage2, и на ней была открыта вкладка "1", соответственно nast2 открывает вкладку "2" и т.п.
как для каждой отдельной nast( i )  настроить переход, я знаю, даже цикл представляю как сделать, но куда это всё прописать не представляю...

Вопросы, связанные только Вашей проблемой - в разные темы
[МОДЕРАТОР]
MultiPage: создание проверки условий в textbox на вкладке Multipage
 
Здравствуйте.
Я начал создавать объект MultiPage и у меня возникли проблемы с проверкой условий ввода данных в элементы textbos, находящихся на моей MultiPage.
1. Каким образом задать проверку условия ввода только чисел в каждый элемент textbox (которые называются b1-b10)? Для каждого отдельно я примерно написал условие:

Код
Private Sub b2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = Asc("."  ;)  Then KeyAscii = Asc(","  ;)  
b1.TextAlign = fmTextAlignCenter
If b1.Value < 0 Then
 MsgBox "Значение не может быть меньше нуля!"
 Exit Sub
End If
If IsNumeric(b1) = False Then
 MsgBox "Можно вводить только числа!"
 Exit Sub
End If
End Sub

Но тут есть 2 проблемы - 1) при попытке ввести дробное число (например 0,15), программа ругается после нажания на "0", мол "Можно вводить только числа!"; 2) textbox-ов будет много, и вводить для каждого такую фигню не хочется.

Была идея поставить кнопку "проверить правильность заполнения" и тогда убрать из каждого отдельного элемента проверку, а загнать всё в цикл:
Скрытый текст

2 вопрос. Как сделать так, чтобы при клике на textbox курсор сразу вставал по центру, а не только при попытке напечатать что-то (через If KeyAscii = Asc("."  ;)  Then KeyAscii = Asc(","  ;)  )? Это необязательно, но всё же.
3 вопрос. Как поменять цвет активного page в элементе multipage?
Сохранение диапазона ячеек в файле блокнота
 
Здравствуйте.
У меня возникла по работе потребность в создании макроса для копирования из excel в блокнот определённого диапазона ячеек, затем файл блокнота должен сохраняться в формате .scr и закрываться в папку с файлом excel.
Моих знаний VBA хватило только на функцию Sendkeys, но с ней программа работает через раз.
Код
Sub RunProgramm()
Dim Blocknot As Integer
ActiveSheet.Range("D1 :D 5" ;) .Select
Selection.Copy
Blocknot = Shell("Notepad", vbMaximizedFocus)
SendKeys "^V", True
SendKeys "^s:, True
SendKeys "C:\111\fileblocknot.scr", True 'Здесь должен быть не конкретный адрес, а, например, адрес, определённый в ячейке А1 excel (то есть сначала программа определяет своё местонахождение)
SendKeys "{ENTER}", True
SendKeys "{TAB}", True
SendKeys "{ENTER}", True
SendKeys "%{F4}"
End Sub

Вопрос в следующем: 1) как решить данную задачу без SendKeys?
2) как открывать определённый файл блокнота (уже созданный) из папки с файлом excel?
3) как заставить excel определять своё местоположение?

P.S. такое извращение в блокнотом нужно потому, что данной программой будут пользоваться люди, которые даже excel на уровне формул простых не знают, не говоря уже о том, чтобы сохранять в каком-то другом формате, или вставлять в блокнот нужные диапазоны ячеек, сохранять под другим форматом и т.п...далее этом файл будет закидываться в Autocad опять же через кнопку...
Правая кнопка мыши
 
Здравствуйте. Вопрос в следующем: можно ли в Excel сделать так, чтобы при нажатии левой кнопки мыши выполнялся определённый макрос, а при нажатии правой кнопки - другой?
Макрос для указанных ячеек
 
Здравствуйте. Вопрос в следующем: как сделать макрос (на кнопку), чтобы он применялся к указанным ячейкам? т.е. условная кнопка "Москва"; нажимаем её и указываем мышью те ячейки, в которые нужно вставить "Москва" и провести ещё какие-то действия (закрасить, шрифт поменять и т.п.). Суть вопроса именно в том, чтобы при нажатии кнопки можно было выбрать неограниченное количество ячеек и Excel сразу бы делал с ними всё, что нужно. Спасибо заранее.
Страницы: 1
Наверх