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

Страницы: 1 2 3 След.
Перевод формул в модули Visual Basic
 
{quote}{login=Koten}{date=01.12.2009 10:55}{thema=}{post}А, точно, формулы же будут вписываться в ячейки)) Интересную штуку советуем))){/post}{/quote}  
Полагаю речь идёт о пользовательских сложных формулах. Например, расчёт давления, аэродинамических функций и т.п. и .т.п.  
Саня хочет, чтобы Юзер видел не расписаную формулу с  коэффициентами, а формулу VBA Например,  
=ОКРУГЛ(10*LOG(10^(0,1*(B44-26))+10^(0,1*(C44-16))+10^(0,1*(D44-9))+10^(0,1*(E44-3))+10^(0,1*(F44+0))+10^(0,1*(G44+1))+10^(0,1*(H44+1))+10^(0,1*(I44-1)));2)  
 
В защищённом модуле VBA будет на листе как =ДБА(D9:K9)  
Код
   
Function ДБА(La As Range) 'As Single   
   
Dim sumL As Single   
   
...............   
ДБА = 10 * Log(Number:=sumL) / 2.3   
ДБА = Round(ДБА, 2)   
   
End Function   
 
C уважением...
Постоянно ищут сумму прописью. Предлагаю еще один вариант
 
Как можно привентить фунуцию    
Shell "excel.exe /safe bb.xla" yd Workbook_open или Auto_open? Чтобы, надстройка не была видна в редакторе VBA //
Постоянно ищут сумму прописью. Предлагаю еще один вариант
 
Вот так можно чуток обезопасить .xla  
http://forum.codenet.ru/showthread.php?t=7344
Постоянно ищут сумму прописью. Предлагаю еще один вариант
 
{quote}{login=ZVI}{date=19.02.2008 10:27}{thema=Re: Постоянно ищут сумму прописью}{post}{quote}{login=DL}{date=19.02.2008 09:42}{thema=}{post}а как xla выложить авторское право не позволяет?  
если вопрос некоректный то извиняюсь.  
и в любом случае спасибо.{/post}{/quote}  
---  
 
 
XLL не содержит исходных текстов, как и EXE или DLL.  
Скорость обработки Excel-объектов (ячеек, формул, и т.п.) у надстроек XLL в десятки и даже сотни раз больше скорости обработки XLA, так как XLA работают через медленные COM-объекты VBA, а XLL обращается непосредственно без посредников к структурам памяти объектов Excel.    
 
XLA же содержит исходные тексты, и, несмотря на возможность парольной защиты проекта, их исходный текст может быть вскрыт.  
---  
ZVI{/post}{/quote}  
 
Xla и xlt удел юзеров, как я, a xll - специалистов  профессионального программирования на многих языках... Не зная С++ можно мозг сломать...  
http://msdn.microsoft.com/ru-ru/library/aa730920.aspx  
 
Интнресно а есть ли в природе конвекторы Xla и xls расширений под в основном Basic в .xll C++  
C уважением...
ошибка "Can't find project or library"
 
так и не понял чем это лечить програмно. Например, если проект защищён и переходит от одного компа к другому...    
Использую следующие варианты.  
1) использовать позднее связывание с др. приложениями...    
2) Отключить все не используемые библиотеки... перед сохранением файла. Сделать фаг или надстройку для подключения нужных библиотек с контролами и др. предложениями..  
3) прикладывать сист. файлы .olb, .dll и др. либо указывать какой сервиспак поставить и прочие ситемные заплатки...  
Вопрос так есть ли универсальный метод лечить эту ошибку програмно.  
С увадением....
Защита области для определенного пользователя
 
{quote}{login=The_Prist}{date=27.07.2009 02:05}{thema=}{post}Посмотрите такой вариант. Вы сами задаете диапазоны для каждого пользователя. пользователь вводит свою фамилию, код. После этого он может редактировать только те ячейки(только на одном листе), которые Вы для него указали.  
Вся информация находится на скрытом листе "Users". Отобразить его можно из редактора VBA, поменяв свойство Visible на xlSheetVisible.{/post}{/quote}  
Хороший пример.  
Скажите, а возможно убрать pop-меню на листе и сообщение, что лист защищён при попытке выделения запрещённых областей ячеек для определённого Юзера.  
С уважением...
поиск через iFoundRng
 
{quote}{login=Малина-м}{date=01.03.2009 03:55}{thema=поиск через iFoundRng}{post} как описать поиск, что бы значение sCriteria искалось в таблице диапазона с присвоеным именем "коды" в первом столбце  
За ранее спасибо!{/post}{/quote}  
Думаю через процедуру Resize  
 
Dim F As range  
 
F= Range("коды").Resize(,1)  
Set iFoundRng = F.Find(What:=sCriteria, LookIn:=xlValues, LookAt:=xlWhole)
ListBox
 
{quote}{login=Юрий М}{date=20.02.2009 04:08}{thema=}{post}Нужно просто присвоить именам диапазонам. Для каждой категории свой именованный диапазон.{/post}{/quote}  
 
скажите как  сделать заполнение listbox2 без именованных диапозонов по ID 1,2,3,и т.д 4.  
Чтобы далее при расчёте брать данные listbox2.list(0,1) listbox2.list(0,2)и т.п.  
С уважением..
Как средствами VBA расширить именованный диапазон.
 
{quote}{login=Prog}{date=25.02.2009 11:08}{thema=}{post}Возможно это лучше подойдет:  
 
Dim a As Name  
Set a = ThisWorkbook.Names("Benefits")  
Set a.RefersToRange = a.RefersToRange.Resize(10,20)  
 
Где a.RefersToRange - то куда ссылается имя до начала выполнения кода изменяется на новый диапазон на 10 рядов и 20 столбцов шире.{/post}{/quote}  
 
А если имя задаётся так  
Names.Add Name:="istochnik", RefersToR1C1:="=OFFSET(Коэфф!R2C9,0,0,COUNTA(Коэфф!C9)-1,1)"
помогите разобраться
 
{quote}{login=}{date=20.02.2009 12:31}{thema=Re:}{post}{quote}{login=The_Prist}{date=20.02.2009 12:22}{thema=}{post}Так, чтоли?{/post}{/quote}  
Почти ... НО  числа до  с 1 до 9 не должны вводиться только начиная с 16 по 100.  
Тем не менее спасибо. Буду  думать. что то другое с проверкой ввода{/post}{/quote}  
Вот твк мне подходит
Текстовое -> Числовое представление вставляемых данных
 
Этим кодом (функцией) меняется разделитель дробной части для того, чтоб приложение приобразовывало данные введеные пользователем  
 
Public Function ReplaceDelimiter(InputStr As String) As String  
   InputStr = Replace(InputStr, ".",    
getstring( HKEY _ CURRENT _ USER , " Control    
Panel \ International ", " sDecimal "))  
   InputStr = Replace(InputStr, ",",    
getstring( HKEY _ CURRENT _ USER , " Control    
Panel \ International ", " sDecimal "))  
   ReplaceDelimiter = InputStr  
End Function
помогите разобраться
 
{quote}{login=The_Prist}{date=19.02.2009 03:20}{thema=}{post}У меня работает. Может объясните, что именно Вам надо?  
У меня этот код меняет "." на "," если таковая введена в TextBox в качестве десятичного разделителя.  
И константы тоже правильно отрабатывают свое назначение.{/post}{/quote}  
 
Суть в том что, нужно вводить мин значение 16, а максимальное 18, при этом округлять до 2.  
Ваш пример такого не делает.  
т.е если первое значение начинается с 1, то ввод не возможен т.к. мин 16 а 1<16/ И текстбокс не отбражается...
помогите разобраться
 
{quote}{login=The_Prist}{date=19.02.2009 01:53}{thema=Re: Re:}{post}{quote}{login=Seergy}  
Не сработало...{/post}{/quote}  
 
Выкладывайте файл....{/post}{/quote}  
см.
помогите разобраться
 
{quote}{login=The_Prist}{date=18.02.2009 03:28}{thema=}{post}А может Вам стоит эту процедуру повесить на событие  
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) ?  
Тогда должен заработать :-){/post}{/quote}  
Не сработало...
помогите разобраться
 
Когда  Const MIN = 0 - всё работает, а когда Const MIN = 18 не работает...  
 
яПолучается, что минемальное знвчение 18, а 1 уже меньше при вводе и толку от этого, когда нужно ограничение с 16 до 30, например...  
Что-то не могу сообразить вот попоробуйте  
 
Private Sub TextBox1_Change()  
 Const MIN = 18      ' <== минимальное значение  
 Const MAX = 100     ' <== максимальное значение  
 Const DECSEP = "."  ' <== дес. разделитель: запятая или точка  
 Const DECPLACES = 2 ' <== количество дес. разрядов  
 Dim i As Double, j As Integer, ds As String, s As String  
 Static old As String  
 If DECSEP = "." Then ds = "," Else ds = "."  
 On Error Resume Next  
 s = TextBox1  
 If Len(s) = 0 Then old = "": Exit Sub  
 s = Replace(Replace(s, " ", ""), ds, DECSEP)  
 TextBox1 = s  
 i = CDbl(Replace(s, DECSEP, Mid$(CStr(1.2), 2, 1)))  
 j = InStr(s, DECSEP)  
 If j > 0 Then j = Len(s) - j  
 If Err <> 0 Or i < MIN Or i > MAX Or j > DECPLACES Then  
   TextBox1 = old  
 Else  
   old = TextBox1  
 End If  
End Sub
Web Browser
 
Новичок VBA (Miнск),Pavel55...  
Я воспользовался, Вашими, примерами для создание надстройки для курса валют...  
 
Браузер в примере Новичок VBA (Miнск) - очень понравился, т.к. до этого встречал кривое подобие браузеров...    
Кстати, он корректно отображается только для ЭЛТ мониторах... а на ЖК мониторах  нижнее поле формы увеличивается на 1/3...
Ограничение ввода в Текстбокс
 
{quote}{login=Сергей583}{date=05.02.2009 07:06}{thema=}{post}Спасибо Pavel55.  
Спасибо ZVI.{/post}{/quote}  
Скажите а как приминить для всех  с TextBox1 по TextBox14 макрос http://www.planetaexcel.ru/docs/forum_upload/post_44130.zip  
С уважением...
Макрос курсов валют с сайта cbr.ru
 
{quote}{login=}{date=06.02.2009 07:02}{thema=Re: }{post}{quote}{login=Pavel55}{date=06.02.2009 12:05}{thema=}{post}Эх, ну, раз все календари вставляют, тогда и я вставлю в свой файлик календарь (автор календаря Aent с сайта http://developing.ru/, если память не изменяет){/post}{/quote}  
 
Private Sub Workbook_AddinInstall - то что надо,  
А Auto_open  это быстрое решение.    
Aent ( Андрей Энтелис)с сайта http://developing.ru/ - очень серьёзный специалист в области VBA Excel. Поднимает и помогает решить темы довольно интересные: про защиту VBA, создания COM приложений, создание приложений.    
Хорошо отображает инфу о VBA с англоизычных сайтов - например Пирсона.  
Этот календарь был создан в посте про создание календарей со временем на год и более.  
Кстати, встречал Ваши посты на http://developing.ru/ в ветках  VBA, такое же впечатление...  
С уважением...{/post}{/quote}  
 
Это я ответил... Что-то имя не отобразилось..
Макрос курсов валют с сайта cbr.ru
 
{quote}{login=Pavel55}{date=03.02.2009 10:54}{thema=}{post}Спасибо, что вы указали номер ошибки, описание ошибки, строку, которая вызывает ошибку, т.е. полностью облегчили нам жизнь в поиске ошибки. Это же нам надо, чтобы ВАШ макрос заработал.  
 
Выложу свой макрос, который у меня работает.{/post}{/quote}  
Модифицировал макрос Pavla55 в свою надстройку  
Работает и в 2003 и 2007 ... Кому интересно можно модифицировать....  
Календарь из плекса нашёл на каком-то форуме...  
С уважением...
КНИГИ как и обещал + бонус!!!
 
"Microsoft Office Excel 2007 для чайников. Краткий справочник", 2007г. - 384стр, Уокенбах Джон, Банфилд, Колин. в дежавю не делали, а то скачать 152 м.Б не реально
Запуск файла Word
 
Это вам поможет...  
 
 
Option Compare Text  
 
Private Sub auto_open()  
Dim iPath$, iFileName$, iCount%  
iPath$ = Environ("WinDir")  
iFileName$ = Application.Path & "\MSWORD.OLB" 'Microsort Word 11.0 или 12.0 Object Library  
If Dir(iFileName$) <> "" Then  
With ThisWorkbook.VBProject.References  
For iCount% = 1 To .Count  
If .Item(iCount%).FullPath = iFileName$ Then  
MsgBox "Эта библиотека уже подключена", , ""  
Exit Sub  
End If  
Next  
.AddFromFile Filename:=iFileName$  
End With  
Else  
MsgBox "Отсутствует нужный файл", , ""  
End If  
MsgBox "Библиотека подключена!", 64, ""  
End Sub
Ввывод из TextBox числа
 
Cells(iLastRow + 1, 1) = Me.TextBox1  
 
Думаю, что Me.TextBox1 - должен быть с .Value (число) или .Text (значение_выражение).    
 
Me.TextBox1.Value
Как обойти ошибку проверки ввода в текст боксе
 
{quote}{login=Юрий М}{date=29.12.2008 03:01}{thema=}{post}Для кучи боксов - не знаю. Может их циклом?    
Насчёт длинно и много - Вы же не склавиатуры будете набирать - Copy/Paste...  
А в моём примере следует 45 заменить на 46 (точка).{/post}{/quote}  
 
Что бы не париться "45 заменить на 46"    
   
на открытие файла  
Sub Макрос12()  
 
   With Application  
       .DecimalSeparator = ","' или запятую  
       .UseSystemSeparators = False  
   End With  
End Sub  
 
На закрытие файла  
 
Sub Макрос13()  
 
   With Application  
       .UseSystemSeparators = True  
   End With  
End Sub
Как обойти ошибку проверки ввода в текст боксе
 
{quote}{login=Юрий М}{date=29.12.2008 02:49}{thema=}{post}1. Попробуйте вот так:  
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)  
If KeyAscii > 47 And KeyAscii < 58 Or KeyAscii = 44 Or KeyAscii = 45 Or KeyAscii = 8 Then Else KeyAscii = 0  
End Sub  
2. Когда делаете "снимок" экрана, используйте комбинацию клавиш Alt+PrintScreen, В этом случае в буфер попадет только активное окно, и читаться потом будет гораздо лучше.{/post}{/quote}  
спасибо  
Да это тоже знал, только длинно и много, хочу уменьшить код, а вариант глючил...И всё таки в чём же дело?    
а как сделать это для всех контролов с возможностью ввода...  
 
чтобы не забивать во все 30 Textbox's
Как обойти ошибку проверки ввода в текст боксе
 
Этот код позволяет вводить только нужные значения:  
 
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)  
   If InStr("0123456789.", Chr(KeyAscii)) = 0 Then  
   KeyAscii = 0  
   End If  
End Sub  
:-) НО ЕСЛИ раскладка клавы EN (англияский язык), а когда ru (русская) выдает ошибку...  
см. файл..
Имена диапозонов в VBA
 
Как вот это имя:  
Names.Add Name:="залп", RefersToR1C1:="=OFFSET(Коэфф!R126C1,0,0,COUNTA(Коэфф!R126C1:R65000C1),2)"  
Задать    
типа:  
Cells(Rows.Count, 2).End(xlUp).Row + 1)  
или через RefersToRange  
И как вот такое:  
Names("материал").Visible = False  
применить для всех имён.........  
С уважением....
Про строки в ворд после копирования их эксел'
 
{quote}{login=Genyaa}{date=05.12.2008 03:07}{thema=Re: Re: }{post}{quote}{login=}{date=05.12.2008 02:39}{thema=Re: }{post}{quote}{login=seergy}{date=05.12.2008 02:36}{thema=}{post}Genyaa. Спасибо здорово...  
 
А если, например, "Расчет субсидий" это первые два предложения в предложение, как выделить всё предложение номер параграфа не известен.  
С уважением....{/post}{/quote}  
опечатка это первые два слова{/post}{/quote}  
 
Попробуйте строку моего примера:  
 
.Selection.expand unit:=4  
 
написать так:  
 
.Selection.expand unit:=3  
 
и проверьте, что получилось.{/post}{/quote}  
 
 
 
'1 -  выделит "Р";  
'2 - выделит "Расчёт"; 3 - Выделит "Расчет субсидий"  
'4 и 5 - Выделит "Расчет субсидий" и далее все предложения.  
'6 -все параграфы
Про строки в ворд после копирования их эксел'
 
{quote}{login=Genyaa}{date=05.12.2008 03:07}{thema=Re: Re: }{post}{quote}{login=}{date=05.12.2008 02:39}{thema=Re: }{post}{quote}{login=seergy}{date=05.12.2008 02:36}{thema=}{post}Genyaa. Спасибо здорово...  
 
А если, например, "Расчет субсидий" это первые два предложения в предложение, как выделить всё предложение номер параграфа не известен.  
С уважением....{/post}{/quote}  
опечатка это первые два слова{/post}{/quote}  
 
Попробуйте строку моего примера:  
 
.Selection.expand unit:=4  
 
написать так:  
 
.Selection.expand unit:=3  
 
и проверьте, что получилось.{/post}{/quote}  
 
 
'1 -  выделит "Р";  
'2 - выделит "Расчёт"; 3 - Выделит "Расчет субсидий"  
'4 и 5 - Выделит "Расчет субсидий" и далее все предложения.  
'6 -все параграфы
Про строки в ворд после копирования их эксел'
 
Genyaa. Спасибо здорово...  
 
А если, например, "Расчет субсидий" это первые два предложения в предложение, как выделить всё предложение номер параграфа не известен.  
С уважением....
Про строки в ворд после копирования их эксел'
 
{quote}{login=Genyaa}{date=05.12.2008 10:29}{thema=}{post}Вот так у меня получается отформатировать второй параграф в активном документе в уже запущенном Ворде:  
 
Sub ttt()  
   Dim WD As Object  
   Set WD = GetObject(, "Word.Application")  
   With WD  
       .Visible = True  
       .Activate  
       With .ActiveDocument.Paragraphs(2).Range  
           .ParagraphFormat.Alignment = 1  
           .Font.Bold = False  
           .Font.Size = 14  
       End With  
   End With  
End Sub{/post}{/quote}  
 
"Семён семёныч" - точно ... А я в какието дебри полез...
Страницы: 1 2 3 След.
Loading...