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

Страницы: 1 2 След.
Обращение к процедуре из функции
 
Цитата
Nordheim написал: Это что?
Это моя неумелая попытка решить задачу. Я написал, что понимаю, что решение неверное.

Ігор Гончаренко, Спасибо! Через массив я не додумался такое провернуть.
Обращение к процедуре из функции
 
Добрый день.

Есть процедура:
Код
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 загнать весь расчёт (определяемых параметров гораздо больше), а из него "растаскивать" формулы для расчёта нужных функций.
Возможно ли такое сделать?
Если создавать сначала отдельные функции, то ссылаться на них получается без проблем.
наращивание значений в ячейке на 1
 
изменил немного, но будет работать только если в ячейке есть символ "_" и после него идут численные значения, которые должны изменяться. Максимальное число 999
наращивание значений в ячейке на 1
 
посмотрите, может Вам подойдёт мой вариант решения проблемы
динамическая проверка checkbox
 
Может, кто-нибудь подскажет хотя бы с чего начать или где можно почитать по этому вопросу?
Написание циклов для checkbox и commandbutton
 
Может, кто-нибудь хотя бы скажет, в каком направлении двигаться или что почитать для решения данной проблемы?
динамическая проверка checkbox
 
прикрепил пример того, что я хочу. написал код для каждой пары checkbox как смог, но это, конечно, не дело, когда число пар перевалит за десятку
Написание циклов для checkbox и commandbutton
 
Извиняюсь за тупку. Прикрепил файл.
По данному вопросу userform1 page1
Написание циклов для checkbox и commandbutton
 
хотел бы уточнить свой вопрос:
в какой sub прописать цикл (если можно обойтись только циклом)....
Я представляю, что должно быть что-то типа Private Sub nast_Click ()
но сам понимаю, что программа не знает, что такое nast без номера конкретного
динамическая проверка checkbox
 
Вопрос заключается в том, как создать цикл проверки условий, а не написания кода для каждого checkbox
Написание циклов для checkbox и commandbutton
 
Читал. Уже создал отдельную тему про checkbox
Написание циклов для checkbox и commandbutton
 
так..в этой теме остался вопрос про открытие соответсвующей вкладки в userform2 через кнопки на форме 1.
Юрий, предложенное решение по checkbox - ам я уже делал (применяя просто условие if chbox2.value = true then...) работает, как мне  надо, но пар много, проблема именно в количестве этих private sub
динамическая проверка checkbox
 
Здравствуйте.
Возник вопрос:
На форме имеется много элементов checkbox. Созданы они парами да-нет. Знаю, что надо было объединять optionbutton, но пока хочу решить именно проблему с checkbox. Если нажимаем еi (да), то в случае, если уже была нажата ni (нет), надо сначала отжать ni, а затем совершить манипуляцию с кнопкой ki - присвоить ей ширину 80 вместо 0. Соответственно, для ni отжимается ei и ki - тому назначается ширина 0.
Сделал для первых шести пар ei-ni и надоело. Написала цикл, но смог "посадить" его только на отдельную кнопку. И то, он решает проблему только в случае включенной одной галки, если обе включены, то не работает.
Как решить данную "динамически", без дополнительных кнопок?
Написание циклов для checkbox и commandbutton
 
кнопка была про второй вопрос, который был Вами удалён
Написание циклов для checkbox и commandbutton
 
я это понимаю, но всё равно не знаю, как прописать код для появления - скрытия  кнопки "Параметры"....
Написание циклов для checkbox и commandbutton
 
Здравствуйте.
Вопросы в следующем:
1. есть UserForm1, содержащая Multipage1, на Page6 есть набор кнопок nast1, nast2, nast3 .... nast12
нужно чтобы при нажатии на nast1 открывалась UserForm2, содержащая Multipage2, и на ней была открыта вкладка "1", соответственно nast2 открывает вкладку "2" и т.п.
как для каждой отдельной nast( i )  настроить переход, я знаю, даже цикл представляю как сделать, но куда это всё прописать не представляю...

Вопросы, связанные только Вашей проблемой - в разные темы
[МОДЕРАТОР]
MultiPage: создание проверки условий в textbox на вкладке Multipage
 
С этим разобрался. Уже забил третий textbox. Я не до конца понимаю, что у Вас написано в модуле. Вернее, не понял, что вот это за проверка:
Код
If Len(s) = 0 Then old = "": Exit Sub
 s = Replace(Replace(s, " ", "" ;) , ds, DECSEP)
 mTex = s
 i = CDbl(Replace(s, DECSEP, Mid$(CStr(1.2), 2, 1)))
 j = InStr(s, DECSEP)
 If j > 0 Then j = Len(s) - j
MultiPage: создание проверки условий в textbox на вкладке Multipage
 
Doober, а почему в Вашем файле можно текст и отрицательные числа вводить в TextBox3??
MultiPage: создание проверки условий в textbox на вкладке Multipage
 
b2 - опечатка моя тут..копировал из нескольких книг свои попытки решения своих проблем.
моя идея с точкой и запятой была такой -  excel при вводе 0.15 думает, что это текст, а если 0,15 - то число..поэтому я решил сделать так, чтобы даже возможности ввести "." не было у пользователя..это, вроде, работает
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?
Сохранение диапазона ячеек в файле блокнота
 
спасибо большое!!! объединил 2 кода)) в код от Anvg вставил код Hugo)) спасибо, народ!!
Сохранение диапазона ячеек в файле блокнота
 
получится много манипуляций с файлами...хотелось бы решить проблему "нажатием кнопки"..
Сохранение диапазона ячеек в файле блокнота
 
Здравствуйте.
У меня возникла по работе потребность в создании макроса для копирования из 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 опять же через кнопку...
Правая кнопка мыши
 
Ладно, спасибо за потраченное время на меня. Думаю, здесь дело вкуса..мне кажется, предложенный Вами вариант, неудобен для использования...буду дальше изучать VBA))
Правая кнопка мыши
 
я вот хочу во второй sub добавить проверку, если нажат shift и активируется ячейка, то:  
With Target.Range("A1:D4")  
   .Interior.ColorIndex = 0  
   .Value = ""  
End With
Правая кнопка мыши
 
Public OnOff As Boolean  
Public Sub ToggleButton1_Click()  
With Me.ToggleButton1  
If .Value = True Then  
Me.ToggleButton2.Value = False  
Me.ToggleButton3.Value = False  
OnOff = True  
.Caption = ""  
.Font.Size = 10  
.BackColor = &HC0C0FF  
.ForeColor = &HFF&  
Else  
OnOff = False  
.Caption = ""  
.Font.Size = 11  
.BackColor = &HFFFFFF  
.ForeColor = &H0&  
End If  
End With  
End Sub  
 
Sub Worksheet_SelectionChange(ByVal Target As Range)  
If OO = True Then  
With Target.Range("A1:D4")  
.Interior.ColorIndex = 16  
.Value = ""  
End With  
Range("A1").Activate  
End If
Правая кнопка мыши
 
Юрий М, я читаю, что мне пишут) я только начинаю разбираться во всех этих примудростях VBA...в примере, что Вы мне скинули всё работает, как надо..но у меня задача другая (я не знаю, можно ли её выполнить так, как Вы сделали)..есть несколько кнопок (окраска в красный, зелёный, синий и т.п. цвета)..при нажатии на одну кнопку я выбирать должен мышью ячейки, которые надо красить..если сделать так, чтобы при отжатой кнопке ТВ окраска снималась, как программа определит, с каких именно ячеек снимать заливку???
Правая кнопка мыши
 
я уже сделал кнопки на удаление заливки, но хотелось бы без них обходится...если так не нравится идея с правой кнопкой мыши, может, подскажете, как сделать удаление заливки при нажатой ТВ при сочетании клика и Shift (или др. кнопки)???
Правая кнопка мыши
 
пожалуй, проще)) просто хотелось уточнить именно про правую кнопку
Правая кнопка мыши
 
я, видимо, чего-то не понимаю...если я хочу закрасить 50 разных ячеек, но при этом промазал и выбрал 5 неправильно, чтобы быстро вернуть нормальную заливку, я хочу при всё ещё нажатой ТВ просто клацнуть правой кнопкой мыши по неправильно выбранным ячейкам и всё....может, это конечно чесать левое ухо правой рукой, но мне кажется, это удобно было бы..
Страницы: 1 2 След.
Наверх