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

Страницы: 1 2 След.
Создание своей панели для макросов в Office2010
 
весна ...  :)  
что в итоге
Изменено: oleg4224 - 05.05.2014 18:34:23
Создание своей панели для макросов в Office2010
 
вот здесь описан макрос который привязывает форму к координатам ячейки по правому клику мыши
Код
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
   Cancel = True
   Dim b As CommandBar
   dx = 0: dy = 0
   For Each b In Application.CommandBars
     If b.Visible Then
       Select Case b.Position
        Case msoBarLeft: dx = dx + b.Width
        Case msoBarMenuBar, msoBarTop: dy = dy + b.Height
       End Select
     End If
   Next
   With Target.Application.ActiveWindow
     UserForm1.Left = (Target.Left - .VisibleRange.Left) * .Zoom / 100 + .Application.Left + dx
     UserForm1.Top = (Target.Top - .VisibleRange.Top) * .Zoom / 100 + .Application.Top + dy
     UserForm1.Show
   End With
 End Sub  
как его привязать к координатам A:1 на открытие листа
макрос рабочий  - в файле кликайте правой клавишей мыши по полю и форма будет туда смещаться
Изменено: oleg4224 - 05.05.2014 01:00:35
Создание своей панели для макросов в Office2010
 
Сейчас при открытии листа1 - только форма1   при открытии листа2 - только своя форма2   иначе на открытие 1 формы она на всех листах
Создание своей панели для макросов в Office2010
 
вот так получилось вроде все устраивает + всплывающие подсказки есть+макросы к рис на клик привязаны

осталось только сделать так чтобы эта панель при старте позиционировалась в рамках открытого листа excel в левом верхнем углу независимо от
разрешения экрана
как задать привязку положения формы при старте к ячейке A:1 или другой способ какой есть
Изменено: oleg4224 - 04.05.2014 21:06:52
Создание своей панели для макросов в Office2010
 
вот что получилось с помощью функций  - но далее надо доделывать
панель которую таскать можно по экрану  но это полдела пока
надо чтоб при старте прилипала к левому углу открытого Excel-файла
и перемещение было в рамках окна Excel а не по всему экрану
картинки кнопки с макросами щас введу
Изменено: oleg4224 - 04.05.2014 20:29:35
Создание своей панели для макросов в Office2010
 
форма в немодальном режиме - которая на открытие книги и не закрывается принудительно но как запустить в немодальном режиме и повесить на нее кнопки и рис макросов
Создание своей панели для макросов в Office2010
 
Сделал учетную таблицу  с несколькими листами
На каждом листе есть закрепленная область
Кнопки и рисунки под макросы соответственно вверху в закрепленной  области чтоб не уходили при прокрутке

Вопрос такой - можно ли средствами Office сделать область для кнопок и рис под макросы чтоб она была по центру - не сдвигалась при прокрутке и редактировалась соответственно
Пробовал создать Вставка - Надпись   и в свойствах Не перемещать и не изменять размеры  - все равно перемещается со скроллом на месте не стоит
(думал в нее накидать кнопок макросов)
Либо надстройки какие есть которые дополнительную панель могут создать куда можно рис и кнопки вставлять под макросы ?
Полазил по интернету но внятного решения не нашел кроме
ToolbarToggle  но это сторонняя программа а хотелось средствами Office это сделать

Есть у кого-нибудь решение этого вопроса ?
Изменено: oleg4224 - 04.05.2014 16:29:14
Добавить текст в конец существующего текста в ячейке
 
Сейчас как надо все ок   Юрий спасибо что уделили время
Добавить текст в конец существующего текста в ячейке
 
Здесь старт форматируемого символа и длина
Код
With ActiveCell.Characters(Start:=47, Length:=31).Font 
если разный текст в ячейках исходный то при наложении своего текста форматируется как попало но с 47 символа
а надо полностью форматируемый только свой текст вставлять - пример выложил там видно как получается при разной  длине исходного текста
Код
 Sub Дополнения_текст()
If Not Application.Intersect(ActiveCell, Range("G2:G1000")) Is Nothing Then
If ActiveCell.Value = "" Then
Exit Sub
End If
If ActiveCell.Value <> "" Then
ActiveCell.Value = ActiveCell.Value & " РЕЗУЛЬТАТ ЗВОНКА И ДОПОЛНЕНИЯ:"
ActiveCell.Select
    
    With ActiveCell.Characters(Start:=47, Length:=31).Font
        .Name = "Calibri"
        .FontStyle = "полужирный"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .Color = -4165632
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With
    ActiveCell.Offset(0, 1).Activate
End If
End If
End Sub
как быть в этом случае ?
Изменено: oleg4224 - 04.05.2014 12:56:09
Добавить текст в конец существующего текста в ячейке
 
все получилось спасибо большое - только в примере отформатированный текст надо вставить
как формат вставляемого текста  на формат текста в ячейке наложить ?

записал рекодером но ничего не дает кроме формата это
Код
Range("G3").Select
    ActiveCell.FormulaR1C1 = _
        "Здравствуйте - хотела заказать у вас пылесос   РЕЗУЛЬТАТ ЗВОНКА И ДОПОЛНЕНИЯ:"
    With ActiveCell.Characters(Start:=1, Length:=46).Font
        .Name = "Calibri"
        .FontStyle = "обычный"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With
    With ActiveCell.Characters(Start:=47, Length:=31).Font
        .Name = "Calibri"
        .FontStyle = "полужирный"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .Color = -4165632
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With
End Sub
 
Изменено: oleg4224 - 04.05.2014 02:58:55
Добавить текст в конец существующего текста в ячейке
 
вроде простая проблема но не знаю как решить - как определить конец текста в ячейке макросом и вставить туда свой текст те
добавить в активную ячейку в диапазоне G2:G1000 текст " РЕЗУЛЬТАТ ЗВОНКА И ДОПОЛНЕНИЯ: "   в конец существующего текста  - если текста нет то ничего не добавляется
Такто понятно как текст вставить по условию непустой ячейки в диапазоне
Код
Sub Дополнения_текст()
If Not Application.Intersect(ActiveCell, Range("G2:G1000")) Is Nothing Then
If ActiveCell.Value = "" Then
Exit Sub
End If
If ActiveCell.Value <> "" Then
ActiveCell.Value = "РЕЗУЛЬТАТ ЗВОНКА И ДОПОЛНЕНИЯ:"
End If
End If
End Sub
но вот как  в  конец существующего текста в ячейке поставить это неясно

файл с примером выложил
Изменено: oleg4224 - 04.05.2014 12:55:31
Синхронизация с компьютером по времени и снятие защиты листа по времени
 
Необходимо защитить диапазон  листа от изменений в определенный промежуток времени
Примерная идея решения
1.при открытии книги должна принудительно сработать синхронизация времени компьютера с мировым временем - если процедура успешно завершена
то книга открывается (защита от  перевода часов)
2.Ставится защита на диапазон листа на определенное время

Как пример нашел макрос по времени на принудительное закрытие книги
Код
Private Sub Workbook_Open() 
 
    'если время с 8.30 до 9.00 то 
    If Time > TimeValue("08:30:00") And Time < TimeValue("09:00:00") Then 
        Application.Quit 'закрываем приложение 
        ThisWorkbook.Close False 'закрываем книгу без сохранения 
    End If 
 
как при этом прописать условие успешного(либо неуспешного) завершения синхронизации по времени и вызвать синхронизацию макросом ?
Разделить файл и раскидать по папкам в директории
 
огромнейшее спасибо за поддержку ! спасли от мучений  :)  
добавил в макрос
Beep 'звуковой сигнал  
MsgBox "Благодарю Doober !", , "Месседж" ' :)
Изменено: oleg4224 - 29.04.2014 11:28:00
Разделить файл и раскидать по папкам в директории
 
большое спасибо за ответ  -  попробовал файл преобразуются в требуемые книги -папки создаются -преобразованные книги складываются по пути правда не туда и копии нет с датами но попробую доделать если получится   сейчас так получается
Изменено: oleg4224 - 29.04.2014 10:58:12
Разделить файл и раскидать по папкам в директории
 
Просмотрел несколько примеров но к сожалению самому не получается доделать
Часть вопроса по папкам получилась (спасибо большое)а вот по принципу разделить файл - сформировать из части файла книгу - скопировать в требуемую папку по условиям
запутался в For Next If и прочее
код макроса кое что сделал в файле - сделал условие копирования и сохранения
Изменено: oleg4224 - 29.04.2014 00:57:57
Создать папки и подпапки в директории файла по имени листов
 
Office2010 x64
Создать папки и подпапки в директории файла по имени листов
 
мой косяк был - неправильно по заданию сделал - папка Архив вложена в папку Сотрудники рядом с папками сотрудников

Остался один вопрос - а почему в макросе уважаемого Казанский  VBA ругается на функцию
Declare Function MakeSureDirectoryPathExists Lib "Imagehlp.dll" (ByVal strPath As String) As Long
красным ?
у меня Office2010 x64 - может из-за этого ?
Код
Sub Создать_папки1() 
    On Error Resume Next 
 
    ' название папки, 
    Const folder$ = "Сотрудники" 
 
    ' создаём папку для файла, если её ещё нет 
    MkDir ThisWorkbook.Path & "\" & folder$ 
     
    ' создаём папку АРХИВ вложена в папку Сотрудники
    MkDir ThisWorkbook.Path & "\" & folder$ & "\" & "Архив" 
 
    ' создаем подпапки для каждого листа 
    For Each sh In ThisWorkbook.Worksheets 
    If sh.Name <> "Расписание" And sh.Name <> "Норма" And sh.Name <> "Общий" Then 'выбираем только листы сотрудников- остальные исключаем 
       MkDir ThisWorkbook.Path & "\" & folder$ & "\" & sh.Name 
    End If 
    Next sh  
End Sub  
Изменено: oleg4224 - 28.04.2014 17:35:51
Создать папки и подпапки в директории файла по имени листов
 
Сделал так - исключил из создания папок листы не относящиеся к сотрудникам
Но при этом вылез другой косяк - папка Архив не создается - что не так сделал ?
Код
 Sub Создать_папки() 
    On Error Resume Next 
 
    ' название папки, 
    Const folder$ = "Сотрудники" 
 
    ' создаём папку для файла, если её ещё нет 
    MkDir ThisWorkbook.Path & "\" & folder$ 
     
    ' создаём папку АРХИВ 
    MkDir ThisWorkbook.Path & "\" & "Архив" 
 
    ' создаем подпапки для каждого листа 
    For Each sh In ThisWorkbook.Worksheets 
    If sh.Name <> "Расписание" And sh.Name <> "Норма" And sh.Name <> "Общий" Then 'выбираем только листы сотрудников- остальные исключаем 
       MkDir ThisWorkbook.Path & "\" & folder$ & "\" & sh.Name 
    End If 
    Next sh    
 End Sub 
Создать папки и подпапки в директории файла по имени листов
 
Запутался как правильно прописать MkDir ThisWorkbook.Path

В общем нужно создать папку и подпапки  в тойже директории где лежит файл
при этом
1.Создать общую папку "Сотрудники"
в этой папке
2.Создать подпапки с именами сотрудников (по имени листов сотрудников) - причем листы сотрудников будут дополнятся потом листами новых сотрудников
3.Отдельная подпапка "Архив" рядом

Файл мой прилагаю - частично только папку Сотрудники сделал-подпапки не получается
Изменено: oleg4224 - 28.04.2014 12:16:33
Исключить некоторые листы от выполнения макроса
 
так вроде получилось
Код
For Each i In ThisWorkbook.Sheets 
    If i.Name <> "План занятости" And i.Name <> "Исходные данные" Then 
     i.Columns(7).ColumnWidth = 118 
    End If 
Next 
а попроще как можно ?
Изменено: oleg4224 - 28.04.2014 00:57:50
Исключить некоторые листы от выполнения макроса
 
Как исключить некоторые листы от выполнения макроса
Кусок кода прилагаю  - макрос не выполняет условие
что неправильно здесь
Код
Private Sub Workbook_Open()
Dim z
For z = 1 To Sheets.Count
If Sheets(z).Name = "План занятости" And Sheets(z).Name = "Исходные данные" Then Exit Sub 
z.Columns(7).ColumnWidth = 118 'устанавливаем требуемую ширину столбца G кроме листов "Исходные данные" и "План занятости"
Next
End Sub
Изменено: oleg4224 - 28.04.2014 00:57:30
макрос перенос текста - только заполненные ячейки в диапазоне
 
если незаполненные - то не проверять чтоб время сократить
макрос перенос текста - только заполненные ячейки в диапазоне
 
Как лучше прописать макрос на  перенос текста только заполненные ячейки в диапазоне
Сделал на открытие книги макрос
Код
Private Sub Workbook_Open()
Dim wsSh As Worksheet
For Each wsSh In Sheets
Application.ScreenUpdating = False
If wsSh.Rows("6:5000", 7).WrapText = False Then
     wsSh.Rows("6:5000", 7).WrapText = True
End If
Next wsSh
Application.ScreenUpdating = True
End Sub

но так как диапазон большой как сделать чтоб перенос текста был только в заполненных ячейках 7 столбца всех листов книги ?

С уважением
Примечание или всплывающая подсказка на фигуру в Excel2010
 
не катит - фигуры так сгруппированы что с ячейкой не получится вариант - думал уже об этом
может макрос какой есть с гиперссылкой для подсказок или чтото подложить под фигуру чтоб подсказку сделать .. просто мысли
Изменено: oleg4224 - 24.04.2014 16:49:54
Примечание или всплывающая подсказка на фигуру в Excel2010
 
Можно ли сделать примечание или всплывающую подсказку на фигуру в Excel2010  - (в 2003 было с этим тяжело)
Есть ли какие приемы через гиперссылку подсказкой например или еще как ?

У меня на листе 10 фигур вверху- на каждую закреплен макрос - как к фигуре сделать подсказку или примечание ?
Фильтр по данным со 2 листа книги
 
вроде так получилось -
только по комбобоксам 2 вопроса остались
...............
Но тема не об этом [МОДЕРАТОР]
Изменено: oleg4224 - 21.04.2014 11:15:44
Фильтр по данным со 2 листа книги
 
поможет кто доделать ? + еще проблема - если автофильтр отключен то по запуску фильтрации по макросу он появляется вверху и сбивает строки -  как его можно выровнять чтоб в диапазоне A5:L5 появлялся (если по какойто причине отключен) по запуску макроса
Изменено: oleg4224 - 20.04.2014 21:10:58
Фильтр по данным со 2 листа книги
 
Поставил на кнопку фильтр  
Код
Private Sub CommandButton1_Click()
        Worksheets("Общая база").Range("$B$5").AutoFilter _
        field:=2, _
        Criteria1:=ComboBox1.Text
        
        Worksheets("Общая база").Range("$C$5").AutoFilter _
        field:=3, _
        Criteria1:=ComboBox2.Text
        
    End Sub 

но не все конечно как надо работает  - тк в поле выбора ComboBox1 и Combobox2 есть запись без фильтра  тк существует возможность от одного фильтра отказаться и задействовать только 2 и тд - это как сделать вопрос
Изменено: oleg4224 - 20.04.2014 21:18:18
Фильтр по данным со 2 листа книги
 
ну вот опять 25 за смысл - это ваше мнение - у меня другое   я все эти автофильтры закрою - будет только UserForm    - c фильтрами геморой тк их протягивать на смежных диапазонах на всю страницу это раз - второе играться с этими фильтрами по 5 раз галки снимать одевать - так проще и лучше с выпадающей формой + фильтры только по критериям которые нужны идут   иконки  на макрос только упрощают  действие и дают фильтрацию по требуемым критериям - глаза не разбегаются от обилия фильтров штатных
Изменено: oleg4224 - 20.04.2014 17:02:25
Фильтр по данным со 2 листа книги
 
Есть книга - в ней 2 листа - на первом собственно таблица для фильтрации значений + кнопка вызова макроса+UserForm для фильтрации   на втором листе исходные данные     - собственно UserForm сделал с 2-мя Combobox (заполняемые со 2 листа)   токо как фильтрацию по строкам сделать по кнопке на UserForm
Страницы: 1 2 След.
Наверх