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

Страницы: 1
Слетает форматирование. Как задать формат по умолчанию всей книге?
 
Проблема возникает с одной книгой, в которой формат по умолчанию изменился на денежный, и время от времени в ней слетают все форматы на всех вкладках.Если время от времени формат будет слетать но становиться "Общим" - меньше надо будет переделывать, что бы вернутся к исходному. Если у кого-нибудь есть опыт в этом - буду рад получить совет о том, как с этим бороться, или как от этого предохраняться.
Автозамена. Как ввести в ячейку (R), что бы оно не превратилось в ®?
 
Стыдно признаться, но столкнулся с такой проблемой...  
Не могу ввести в ячейку ®, так, что бы оно не превратилось в ®. Метомдом Заменить - заменяется на ®, но ручным вводом никак не получается.  
Как быть?
Полетели форматы
 
В рабочем файле полетели форматы. На всех листах... Случилось данное несчастье после того, как промазал по сочетанию клавиш Ctrl+Shift+Esc и получилось Ctrl+`(показать формулы. Повторным сочетанием клавиш в первоначальное состояние вид формул вернулся - но все форматы стали денежными, причём по всей книге. Как теперь что? CTRL+Z не помогает...
POPUP Меню, не работает OnAction
 
Задача макроса - вывести названия всех листов в книге и при выборе нужного - перейти туда. Получился такой макрос:  
 
Sub Макрос1()  
Dim i As Worksheet  
Dim p As CommandBar  
 
    On Error Resume Next: Application.CommandBars.Add "My_Worksheets", msoBarPopup  
     'Без On Error Resume Next: не создаётся, странно...  
    Set p = Application.CommandBars("My_Worksheets")  
       
For Each i In Worksheets  
 
Set add_ctrl = p.Controls.Add(msoControlButton)  
With add_ctrl  
 .Caption = i.Name  
 .OnAction = "Worksheets(" & Chr(34) & i.Name & Chr(34) & ").Select"  
End With  
 
Next i  
p.ShowPopup  
End Sub  
 
Список то он выводит, но вот на выбранный лист не переходит. Пробовал так же сделать отдельную функцию, в которую бы передавалось название выбранного листа, но после выбора к ней даже нет обращения. Подскажите, как быть? Excel 2007.
VBA - Разность 2 множеств определённых как Range.
 
Собственно, вопрос в том как это сделать? Объединение и пересечение двух экземпляров Rabge делается просто. Но чтоб работать с range как с более-менее полноценным множеством надо еще и разность, ну или унарную операцию НЕ (весь Range на Activeshit без указанного диапазона).
VBA - Свойства рисунка в примечании.
 
Макросом добавляю рисунок к примечанию некоторой ячейки. Выглядит примерно так:  
 
Cells(tcellrow, tcellcolumn).AddComment  
Cells(tcellrow, tcellcolumn).Comment.Shape.Fill.UserPicture(screened)  
 
Проблема в том, что примечание получается стандартного размера, и не стоит галочка на свойстве "Сохранять пропорции рисунка".  
Размеры рисунка в пикселях известны.  
Как сделать так, что б размер примечания соответствовал размеру рисунка фона, и как достучаться до свойства сохранения пропорции рисунка из VBA?
VBA - вставить рисунок в ячейку?
 
Недавно пытался разобраться с тем, как делать скриншоты других приложений из VBA, с помошью Win API. С тем, как ходить можду окнами так, что б макрос ждал определённых действий - разобрался. Как делать сам скриншот - нагло слямзил с одного ресурса(кому интересно - то что получилось в прилагаемом файле). Но тут встал вопрос: как вставить рисунок, не в комментарий, а в книгу? Когда записываю в макрос действия Вставить->Рисунок - то в макросе ничего не пришется.
VBA - скриншот + навигация
 
Как копировать снимок экрана по границам выделенного диапазона и вставлить в активный (на мамент запуска) лист Excel, или сделать фоном примечания к активной на момент запуска ячейке? В общем, сложностей вижу много.  
1) Как делать скриншоты в VBA и потом их обрезать в зависимости от выделенной области(обязательно правой клавишей мыши)?  
2)Как преобразовать полученный тип изображения в GIF? Изображения схематичные, и размер важнее качества цветопередачи.  
3) Передача управления другим программам, и вообще, свободная навигация при помощи левой клавиши мыши или Alt+Tab, возможно ли осуществить такое без усиленного гемороя?  
 
Буду брагодарен если укажите в каком направлении копать информацию, или несколько полезных для решения такой задачи методов.
VBA - работа с RANGE
 
Была задача облегчить пользователю нахождение повторяющихся позиций на диапазоне(не все юзеры могли пользоваться =СЧЁТЕСЛИ). Сообразил следующий макрос:  
 
Sub SerchDuplicates()  
'Делает заливку повторяющихся значений  
Dim i As Range  
On Error Resume Next  
 'вызываем InputBox для явного указания диапазона  
Set Userrange = Application.InputBox(Prompt:="Target range", Title:="Duplicates search", Default:=DefaultRange, Type:=8)    
 'преобразуем выбранный диапазов в выбранный+используемый  
Set Userrange = Intersect(Userrange, ActiveSheet.UsedRange)    
 'снимаем расцветку с целевого диапазона  
Userrange.Interior.Pattern = xlNone    
  For Each i In Userrange  
   If Application.WorksheetFunction.CountIf(Userrange, i) > 1 Then  
    i.Interior.Color = 65535  
   End If  
  Next i  
End Sub  
 
Но потом пришло в голову, что если повторяющихся занчений много, было бы полезно ввести заливку одинаковым цветом только для одинаковых позиций, и тут возникли трудности. Ни при создании коллекции, ни при создании ренджа не работало в цикле следующее:  
 
tcells.add(i) 'для Collection  
set trange = union(trange,i) 'для Range  
 
В чём причина?
Страницы: 1
Наверх