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

Страницы: 1
Испорчен файл xlsm, при восстановлении удаляет макросы VBA
 
{quote}{login=}{date=04.11.2012 06:31}{thema=}{post}Ваши файлы не испорчены, восстанавливать их нет необходимости. Весь код читается нормально. Скорее всего, криво встал офис - переустановите.{/post}{/quote}  
 
Если не затруднит, могли бы вы выложить весь код в txt/doc файле. Заранее спасибо.
Испорчен файл xlsm, при восстановлении удаляет макросы VBA
 
{quote}{login=Lyakysha}{date=04.11.2012 05:36}{thema=Испорчен файл xlsm, при восстановлении удаляет макросы VBA}{post}При переустановке всей системы на компьютере испортилось большое кол-во копий xlsm 1й программы на разных стадиях. При восстановлении удаляет все макросы из файла. Был бы очень благодарен , если бы из приложенного фала удалось извлечь весь код VBA. Заранее спасибо за помощь.{/post}{/quote}  
Сами файлы на mail.ru весом около 2.5мб http://files.mail.ru/Q0PCDX
Испорчен файл xlsm, при восстановлении удаляет макросы VBA
 
При переустановке всей системы на компьютере испортилось большое кол-во копий xlsm 1й программы на разных стадиях. При восстановлении удаляет все макросы из файла. Был бы очень благодарен , если бы из приложенного фала удалось извлечь весь код VBA. Заранее спасибо за помощь.
"ActiveChart.HasTitle=" не хочет присваивается значение "True"
 
Добрый день, подскажите в чем проблема...  
Для активной диаграммы не хочет задаваться заголовок в процедуре VBA. Т.е параметр "ActiveChart.HasTitle=True" не работает, в ходе выполнения кода программы "ActiveChart.HasTitle=" все равно выбивает "False"  
В приложении кусок кода.  
Заранее спасибо.
Как завершить процедуру с передачей действия другой.
 
{quote}{login=RAN}{date=11.11.2011 01:52}{thema=}{post}Я подобное "Низзяяяя" долго жевал. Потом выплюнул.{/post}{/quote}  
 
Т.е. единственно возможный вариант это вызывать из 2й процедуры 1ю, чтоб все это работало как мне необходимо?
Как завершить процедуру с передачей действия другой.
 
{quote}{login=RAN}{date=11.11.2011 01:37}{thema=}{post}On Error GoTo metka1  
msg = "First"  
On Error GoTo 0  
Нет?  
 
Dim metka1 As String  
metka1: - это не переменная, а метка.{/post}{/quote}  
 
Все равно идет возврат в 1ю процедуру, а затем она завершается оператором On Error goto 0, а мне необходимо чтобы действие передавалось второй процедуре с завершением 1вой, т.е чтобы ошибка вызываемая 2й процедурой её крашила, а не вызывала 1ю процедуру на metka1. Вариант поставить "call First" вначале 2й процедуры и запускать её - тоже не подходит.  
 
На счет метки - привычка...я так даю им описание ибо их over 9000:)
Как завершить процедуру с передачей действия другой.
 
Пример аналога проблемы:  
 
 
Dim a, c As Integer  
Dim metka1 As String  
Sub First()  
On Error GoTo metka1  
   msg = "First"  
 
metka1:  
   msg = "Yet first"  
   Call Second  
End Sub  
Sub Second()  
   msg = "Second"  
   a = c / c  
End Sub  
 
Проблема:  
Как передать действия от 1й процедуры ко 2й, без продолжения выполнения 1й процедуры. Т.е чтобы оператор On Error GoTo не выполнялся для 2й процедуры.  
Извините, что не в файле :)
Как завершить процедуру с передачей действия другой.
 
{quote}{login=Юрий М}{date=11.11.2011 01:05}{thema=}{post}Lyakysha, Вы так и не ответили мне - что происходит с диаграммой, если она будет перерисована немного ПОЗЖЕ?{/post}{/quote}  
 
С ней ничего не происходит:) Она отрисовывается даже при возникновении ошибки и остановки программы, но в самом конце.
Как завершить процедуру с передачей действия другой.
 
{quote}{login=KukLP}{date=11.11.2011 01:03}{thema=}{post}Скорей всего проблема кривых рук. Мож там обновление экрана достаточно вклюсить, или еще есть метод repaint для рисованых объектов.{/post}{/quote}  
 
Возможно:) Тогда поставим проблему по другому: как сделать, чтобы при наличии в 1й процедуре оператора on error go to и вызове из неё 2й, при возникновении ошибки во второй процедуре не выполнялся оператор on error go to в 1й процедуре.
Как завершить процедуру с передачей действия другой.
 
К R Dmitry, извините, но там так все запутанно (моя 1я программа на VBA), что логику по файлу понять очень тяжело будет и упростить не получиться по причине корявости кода и множества ветвлений.
Как завершить процедуру с передачей действия другой.
 
{quote}{login=RAN}{date=11.11.2011 12:58}{thema=}{post}Не, вы не поняли.  
Ваши решения Call:Exit Sub  
А ТС хочет Exit Sub:Call{/post}{/quote}  
 
Именно!  
P.S. После call *имя 2й процедуры* и так сразу стоит End sub :)
Как завершить процедуру с передачей действия другой.
 
{quote}{login=R Dmitry}{date=11.11.2011 12:49}{thema=Re: Re: Как завершить процедуру с передачей действия другой.}{post}"В конце первой процедуры поставьте End"  
 
Вернее второй :), хотя логики не понимаю, можно  и после строки call.......  
поставить Exit sub{/post}{/quote}  
 
Проблема в том, что Excel отрисовывает диаграммы только после того, как полностью завершена процедура с ними. А мне необходимо, чтобы 1я процедура завершилась полностью и передала выполнение 2й.
Как завершить процедуру с передачей действия другой.
 
Проблематика:  
 
1я процедура рисует на листах Excel диаграммы и она же через оператор "call" вызывает следующую процедуру. Как сделать так, чтобы 1я процедура отрисовывала диаграммы и после передачи действия 2я полностью завершала свою работу, а не возвращалась к выполнению после выполнения второй процедуры при использовании оператора "call".  
 
Не совсем просто изложил, но вроде понятно...  
Заранее спасибо.
Application.WorksheetFunction.MInverse выдает ошибку
 
{quote}{login=ZVI}{date=27.08.2011 03:52}{thema=}{post}Из справки по Excel-функции МОБР():  
"Если какая-либо из ячеек в массиве ПУСТА или содержит текст, то функция МОБР возвращает значение ошибки #ЗНАЧ!"  
 
Объявление ReDim A(2, 2) равносильно ReDim A(0 To 2, 0 To 2) - матрица 3x3.  
А для типа Variant значения элементов массива после объявления Dim/Redim - ПУСТЫЕ, т.е. равны Empty.  
 
В примере1 вектор A(0, ...) заполнен пустыми значениями Empty, что является источником ошибки.  
Если бы в начале модуля было объявление Option Base 1, то этой ошибки бы не было.  
 
Кроме того, там есть еще одна ошибка:  
A(1, 2) = A(2, 1) = 26.25  
равносилно A(1, 2) = (A(2, 1) = 26.25)  
или, что то же самое: A(1, 2) = False  
Такое нечисловое значение также приводит к ошибке MInverse(A)  
Правильно так:  
A(1, 2) = 26.25  
A(2, 1) = 26.25{/post}{/quote}  
Спасибо.
Application.WorksheetFunction.MInverse выдает ошибку
 
{quote}{login=Lyakysha}{date=27.08.2011 01:35}{thema=Application.WorksheetFunction.MInverse выдает ошибку}{post}Помогите пожалуйста. При выполнении кода:  
 
Sub MInverse()  
ReDim A(2, 2) As Variant  
ReDim A1(2, 2) As Variant  
A(1, 1) = 4  
A(1, 2) = A(2, 1) = 26.25  
A(2, 2) = 6.5625  
A1 = Application.WorksheetFunction.MInverse(A)  
End Sub  
 
выдает ошибку:  
 
Run time error '1004':  
 
Невозможно получить свойство MInverse класса  
WorksheetFunction  
 
В чем проблема?  
Заранее спасибо!{/post}{/quote}  
 
Разобрался сам, почему-то заработало вот в таком виде:  
 
Dim A() As Variant  
Dim A1() As Variant  
Sub MInverse()  
ReDim A(1 To 2, 1 To 2) As Variant  
ReDim A1(2, 2) As Variant  
A(1, 1) = 4  
A(1, 2) = 26.25  
A(2, 1) = 26.25  
A(2, 2) = 6.5625  
With Application  
A1 = .MInverse(A)  
End With  
f = MsgBox(A1(1, 1) & Chr(13) & Chr(10) & A1(1, 2) & Chr(13) & Chr(10) & A1(2, 1) & Chr(13) & Chr(10) & A1(2, 2), vbOKOnly)  
End Sub  
 
Ещё бы знать почему?:)
Application.WorksheetFunction.MInverse выдает ошибку
 
Помогите пожалуйста. При выполнении кода:  
 
Sub MInverse()  
ReDim A(2, 2) As Variant  
ReDim A1(2, 2) As Variant  
A(1, 1) = 4  
A(1, 2) = A(2, 1) = 26.25  
A(2, 2) = 6.5625  
A1 = Application.WorksheetFunction.MInverse(A)  
End Sub  
 
выдает ошибку:  
 
Run time error '1004':  
 
Невозможно получить свойство MInverse класса  
WorksheetFunction  
 
В чем проблема?  
Заранее спасибо!
Установление размера диаграммы с помощью VBA
 
{quote}{login=The_Prist}{date=26.06.2011 02:07}{thema=}{post}А зачем Parent?  
И какой версии Excel? Если 2007, то    
With ActiveSheet.ChartObjects("Имя_диаграммы").Chart{/post}{/quote}  
 
Версия Excel 2007, и если точно указанно имя диаграммы  
"Set Chart1 = ActiveWorkbook.Charts.Add(, ActiveSheet)"  
,то к ней можно по нему обращатся,вроде:)  
А "Parent" действительно не нужен.
Установление размера диаграммы с помощью VBA
 
{quote}{login=KL}{date=26.06.2011 02:11}{thema=}{post}Да и Wiedth поменять на Width :){/post}{/quote}  
 
Как-то не заметил, а то пытаюсь какой-то "вес" диаграммы изменить:)
Установление размера диаграммы с помощью VBA
 
Подскажите пожалуйста, как установить размер диаграммы либо в единицах измерения(пикселях, см и тд.), либо в соотношении высота/ширина(или наоборот).  
Пробовал вот так с созданной диаграммой Chart1:  
 
With Chart1.Parent  
   .Wiedth = 300  
   .Height = 150  
End With  
 
, но выдает ошибку
Как защитить объект WordArt в Excel 2007
 
{quote}{login=The_Prist}{date=05.04.2011 01:35}{thema=}{post}В свойствах объекта указать "Защищаемый объект"(оно по-умолчанию установлено).  
Затем защитить лист, но при защите листа указать в параметрах все(отметить все галочки), кроме "Изменять объекты". С ячеек можно так же снять галку в атрибутах "Защищаемая ячейка". Подробнее про это: <EM>http://www.excel-vba.ru/index.php?file=Tips_All_Protect_Few_Cells</EM>  
 
Для совсем ленивых :-)  
<EM>http://www.excel-vba.ru/index.php?file=MyAddin_Protect_Sheets</EM>{/post}{/quote}  
 
Спасибо, нашел удовлетворяющее меня решение на основе стандартных функций рецензирования.
Как защитить объект WordArt в Excel 2007
 
Подскажите, как можно защитить объект WordArt и ему подобные от удаления или изменения, оставив при этом возможность редактировать формул и изменения знаечния ячеек.Все в Excel 2007.  
Спасибо.
Функция на скрытие строк по условию на VBA
 
{quote}{login=sva}{date=27.03.2011 06:25}{thema=}{post}Тогда код нужно поместить в модуль Листа (ПКМ на листе-исходный код)  
 
Private Sub Worksheet_Change(ByVal Target As Range)  
Dim r As Range, r1 As Range, cc As Range  
  Set r = [a1] 'ячейка с условием
If Not (Intersect(Target, r) Is Nothing) Then  
       Set r1 = Application.InputBox(prompt:="Выделите диапазон для проверки", Type:=8)  
       Application.ScreenUpdating = False  
       For Each cc In r1  
           If cc.Value = r.Value Then  
               cc.EntireRow.Hidden = True  
           Else: cc.EntireRow.Hidden = False  
           End If  
       Next  
   End If  
   Application.ScreenUpdating = True  
End Sub{/post}{/quote}  
 
Спасибо!
Функция на скрытие строк по условию на VBA
 
{quote}{login=sva}{date=27.03.2011 05:42}{thema=}{post}Может так?  
Sub Hide_()  
Dim r As Range, r1 As Range, cc As Range  
Set r = Application.InputBox(prompt:="Выделите ячейку с условием", Type:=8)  
Set r1 = Application.InputBox(prompt:="Выделите диапазон с условием", Type:=8)  
For Each cc In r1  
If cc.Value = r.Value Then cc.EntireRow.Hidden = True  
Next  
End Sub{/post}{/quote}  
 
Подскажите ещё, как создать аналог "End if" для данного макроса, чтобы задать его выполнение только при изменениях на листе, а в лучшем случае в ячейке с условием .  
И будет правильным в него ввести строку:  
 
Else cc.EntireRow.Hidden = False
Функция на скрытие строк по условию на VBA
 
{quote}{login=sva}{date=27.03.2011 05:42}{thema=}{post}Может так?  
Sub Hide_()  
Dim r As Range, r1 As Range, cc As Range  
Set r = Application.InputBox(prompt:="Выделите ячейку с условием", Type:=8)  
Set r1 = Application.InputBox(prompt:="Выделите диапазон с условием", Type:=8)  
For Each cc In r1  
If cc.Value = r.Value Then cc.EntireRow.Hidden = True  
Next  
End Sub{/post}{/quote}  
 
Благодарю, попробую разобраться в этом:)
Функция на скрытие строк по условию на VBA
 
{quote}{login=Igor67}{date=27.03.2011 05:33}{thema=Re: Функция на скрытие строк по условию на VBA}{post}{quote}{login=Lyakysha}{date=27.03.2011 04:58}{thema=Функция на скрытие строк по условию на VBA}{post}Помогите написать функцию автоматического скрытия строк диапазона по условию заданной ячейки.  
{/post}{/quote}  
Вы бы прочитали справку по Ехс. Функция не вносит изменения, вставленная в ячейку она просто возвращает расчетное значение.  
Пользовательские функции вообще то более медленные, чем функции листа (встреченные). так может поищем вариант решения Вашей задачи по другому?{/post}{/quote}  
 
Ясно, спасибо. А возможно ли создание автоматизированого скрытия строк процедурой во всем документе при наличии в них определенного символа, в каком либо столбце?
Функция на скрытие строк по условию на VBA
 
{quote}{login=ikki}{date=27.03.2011 05:20}{thema=}{post}примерно так:  
 
Sub testnnn()  
 Call nnn(0, ActiveSheet.Rows("5:10"))  
End Sub{/post}{/quote}  
 
Можете пояснить, что означает    
Заранее спасибо!
Функция на скрытие строк по условию на VBA
 
2)-3)Извините, действительно перепутал местами "х" и "y" в посте.
Функция на скрытие строк по условию на VBA
 
{quote}{login=RAN}{date=27.03.2011 05:21}{thema=}{post}1. Нужна не функция (Function), а процедура (Sub)  
2. Х - - заданная ячейка которая будет проверяться на условие, а проверяем If y = 0 ???  
3. y - диапазон скрываемых строк, а скрываем Rows(x)???{/post}{/quote}  
{quote}{login=RAN}{date=27.03.2011 05:21}{thema=}{post}1. Нужна не функция (Function), а процедура (Sub)  
2. Х - - заданная ячейка которая будет проверяться на условие, а проверяем If y = 0 ???  
3. y - диапазон скрываемых строк, а скрываем Rows(x)???{/post}{/quote}  
 
1)Нужна именно функция, возможно вместе с процедурой.Т.е я из листа Ексель написав данную фу-ю должен вызывать макрос, а не делать новый макрос для каждой ячейки и диапазона.  
2)
Функция на скрытие строк по условию на VBA
 
Помогите написать функцию автоматического скрытия строк диапазона по условию заданной ячейки.  
Функция должна иметь примерный вид:  
 
=функц(x, y)  
 
,где x - заданная ячейка которая будет проверяться на условие  
    y - диапазон скрываемых строк  
 
С программированием и VBA знаком мало, так что меня хватило только на "чудо", вроде:  
 
Function Ckrjt(y As Integer, x As rang)  
If y = 0 Then Rows(x).Hidden = True  
End Function  
 
,но выдает ошибку.Заранее спасибо!
Страницы: 1
Наверх