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

Страницы: 1
DDE обмен между MetaTrader 4 и Excel зависает
 
Добрый день. Перерыл весь инет, но предложенные решения, проблему не решают... В общем проблема в том, что есть стандартная формула экспорта котировок из МТ4 в ексель: ='MT4'|ASK!GBPUSD. Так вот, если поставить галочку "Обновить ссылки на другие документы", то ексель на мертво зависает. Что сделал:
Галочку снял - Игнopиpoвaть DDЕ - зaпpocы oт дpyгиx пpилoжeний
Пpeoбpaзoвaниe фopмул в фopмaт еxcel пpи ввoдe галочку поставил
разрешить DDЕ в мт4 галочку поставил, короче все сделал как пишут...
Был вариант что зависание возможно из за Гугл Хром, удалил, но не помогло. Надежда только на вас... Устал бороться с екселем...)
п.с. еxcel 2007 Windows 7 64
Проблемы с макросом сохранения книги, запущенного с панели быстрого доступа
 
У меня есть макрос сохранения книги с именем из ячейки, с выводом диалогового окна. Макрос нормально работает и сохраняет, если его запускать из вкладки "макросы". Мне нужно, чтобы этот макрос располагался на панели быстрого доступа, т.к. листов много и делать на каждый лист кнопку сохранения не есть хорошо. Вот тут то и начинаются проблемы. При нажатии кнопки макроса на панели быстрого доступа, выходит диалоговое окно с подставленным именем из ячейки, а при нажатии сохранить появляется еще одна книга и так каждый раз. Не могу понять в чем может быть дело...
Код
Sub MySaveName1()
    Dim sName As Variant
    sName = Application.GetSaveAsFilename(ThisWorkbook.Path & "\" & Range("b2") & ".xlsm", "Excel files (*.xlsm),*.xlsm")
    On Error Resume Next
    If sName <> False Then ThisWorkbook.SaveAs sName
End Sub
Скрытие строк по значению нескольких ячеек по условию "или" , "и"
 
Нужно скрыть строку, при условии: если а1=о или а2=о, то скрываем строку a6.

If Target.Address = [а1,а2]Address Then Range("а6").EntireRow.Hidden = Target.Value <= 0
Если прописать ячейки через запятую, то о результатов.

В общем поэкспериментировал, и сделал для условия "или" так:

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("a1") <= 0 Or Range("a2") <= 0 Then
        Range("a6").EntireRow.Hidden = True
        Else
        Range("a6").EntireRow.Hidden = False
    End If 
End Sub


для условия "и":

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("a3") <= 0 And Range("a4") <= 0 Then
        Range("a7").EntireRow.Hidden = True
        Else
        Range("a7").EntireRow.Hidden = False
    End If 
End Sub


короче код сделать не получилось..
Все вроде работает но, при таком коде, почему то стали не активны кнопки "отменить(вернуть) последнее действие" в ексель, даже если вводишь значение в других ячейках, не прописанных в макросе.
Выбор фото в примечании из выпадающего списка
 
Добрый день. Знаю, что есть выбор фото из выпадающего списка, но она меняет картинку в ячейке, а вот чтобы фото менялось в примечании, увы никак не смог найти, весь инет излазил. Нашел на этом форуме небольшой код от ZVI, суть его в том, что при смене значения в одной ячейке, можно поменять значение в другой. Не много доработав его под свою задачу, применив копирование примечания из другой ячейки, получил то, что собственно и хотел, но мои познания в вба желают быть лучшими, поэтому прошу помощи в оптимизации сего кода. Суть заключается в следующем: при выборе из выпадающего списка в ячейке А1, к примеру "Коала", в ячейке А2 в примечании появится фото Коалы, а в ячейке А3 примечание с текстом "Коала любит лазить по деревьям"..) -это просто пример, вместо текста там может быть и другая картинка. Для решения моей задачи, при выборе какого либо значения из ячейки А1, ему будут соответствовать до 6 параметров, которые должны показывать свою индивидуальную картинку именно в примечании. Поэтому код так сказать вырастет на одном только копировании... Выкладываю файл с примером, там будет все наглядно. Возможно у кого нибудь есть более простое решение данной задачи, буду весьма благодарен.

Код
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim x 
   x = Range("a1" ;) 
 
   If x = "Коала" Then 
       If Target.Address = [a1].Address Then 
          Range("e2" ;) .Copy 
          Range("a2" ;) .PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _ 
          SkipBlanks:=False, Transpose:=False 
          Range("e6" ;) .Copy 
          Range("a3" ;) .PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _ 
          SkipBlanks:=False, Transpose:=False 
       End If 
   End If
 
   If x = "Маяк" Then 
       If Target.Address = [a1].Address Then 
          Range("e3" ;) .Copy 
          Range("a2" ;) .PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _ 
          SkipBlanks:=False, Transpose:=False 
          Range("e7" ;) .Copy 
          Range("a3" ;) .PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _ 
          SkipBlanks:=False, Transpose:=False 
       End If 
   End If
 
   If x = "Пингвины" Then 
       If Target.Address = [a1].Address Then 
          Range("e4" ;) .Copy 
          Range("a2" ;) .PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _ 
          SkipBlanks:=False, Transpose:=False 
          Range("e8" ;) .Copy 
          Range("a3" ;) .PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _ 
          SkipBlanks:=False, Transpose:=False 
       End If 
   End If 

 Application.CutCopyMode = False 
End Sub
Изменено: SANA555 - 24.02.2013 21:26:19
Защита Excel, компилятором DoneEx XCell Compiler
 
ZVI писал - "Владимир, по поводу формулы я же отписал, что даже не пытался искать, т.е. с защитой формулы вроде все в порядке. С большим количеством формул поэкспериментируйте сами - не тормозят ли, в правильном ли порядке считаются длинные зависимости и т.п.
И как я уже отмечал, в итоге считаю защиту хорошей."

Последовал вашему совету и приобрел бизнес версию DoneEx XCell. Я конечно не специалист, и мне трудно судить о хорошей защите файлов, поэтому возлагался на мнения опытных, в том числе вас. Очень нравятся в данной программе множество настроек, таких как возможность привязки к ID компьютера, создание демо версии, а также облагораживающих примочек..), таких как персонализированная заставка при открытии приложения, возможность поставить свою индивидуальную иконку, вставка своего лицензионного соглашения. Возникали некоторые трудности по работе с макросами и другие не большие недочёты, но техподдержка работает там очень оперативно и все решали очень быстро, это факт!, несмотря на то что я абсолютный ноль в знании английского языка..) Очень понравилось то, что макросы работают на защищенном листе, без использования специального макроса на открытие книги, который включает UserinterfaceOnly:=True. Так что очень доволен, спасибо ZVI, за отзыв и команде DoneEx XCell.
Страницы: 1
Наверх