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

Страницы: 1 2 3 4 5 6 7 8 След.
Как правильно использовать словарь при добавлении нового элемента и сортировке
 
Интересный вариант с сортировкой, даже не думал в этом направлении.
Но, почему подумал про словарь. Когда страницы не добавляются, а удаляются, то в первой колонке остается метка удаленного листа.
Думал, что удаляя из словаря ключ, можно как-то удалить за собой и элемент ему соответствующий или наоборот.
Возможно ли это при сортировке, пока не знаю. Удалить сортировкой конечно же нет, после нее имеется ввиду.
При повторной сортировке также соответствие слетает.
Изменено: MedvedevAV - 04.11.2016 11:54:37
Если не можешь победить беспорядок, возглавь его
Как отследить повторное выделении одной ячейки, Событие Worksheet_SelectionChange
 
Все получилось, разобрался.

Спасибо за помощь!
Если не можешь победить беспорядок, возглавь его
Как отследить повторное выделении одной ячейки, Событие Worksheet_SelectionChange
 
Не соображу что-то.
Если код такой, куда это смещение добавить?
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Target.Cells(1).Address = "$B$2" Then
    If ActiveSheet.Range("3:6").EntireRow.Hidden = True Then
       ActiveSheet.Range("3:6").EntireRow.Hidden = False
    Else
    If ActiveSheet.Range("3:6").EntireRow.Hidden = False Then
       ActiveSheet.Range("3:6").EntireRow.Hidden = True
    End If: End If: End If
   
End Sub
Изменено: MedvedevAV - 21.08.2015 11:21:04
Если не можешь победить беспорядок, возглавь его
Как отследить повторное выделении одной ячейки, Событие Worksheet_SelectionChange
 
Получится ли реализовать это, чтобы не надо было выделять какую-нибудь другую ячейку, чтобы произошло переключение?
Вариант vikttur, если правильно понял подразумевает дополнительное выделение другой ячейки:
нажал В2 = действие1, выделил другую ячейку, нажал еще раз B2 = действие2.  
Если не можешь победить беспорядок, возглавь его
Как отследить повторное выделении одной ячейки, Событие Worksheet_SelectionChange
 
Всем добрый день.
Пытаюсь сделать некую альтернативу группировки строк (открыть/скрыть) через выделение определенной ячейки.
Это получилось сделать если выделять разные ячейки: нажал на A2 строки скрылись, нажал на B2 - строки открылись.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells(1).Address = "$A$2" Then
        ActiveSheet.Range("3:6").EntireRow.Hidden = True
        [A2].Value = "+"
    Else
    If Target.Cells(1).Address = "$B$2" Then
        ActiveSheet.Range("3:6").EntireRow.Hidden = False
        [A2].Value = "-"
    End If
    End If
End Sub
Как сделать так чтобы скрытие/открытие строк происходило при выделении только одной ячейки?
Нажал раз на B2 - строки скрылись, нажал повторно - строки открылись.

И еще вопрос. Листов, где планируется это сделать будет много. Можно ли этот код определить не в модуль листа, а в общий модуль?
Если да, то что необходимо добавить?
Если не можешь победить беспорядок, возглавь его
Как заменить символы на другом листе не переходя на него
 
Все получилось, большое спасибо.
Изменено: MedvedevAV - 21.08.2015 10:28:13
Если не можешь победить беспорядок, возглавь его
Как заменить символы на другом листе не переходя на него
 
Возникла одна проблема.
Мне нужно заменить в столбце все запятые "," на пусто "".
В одной ячейке оказалось слишком много символов (более 1500, это результат работы макроса по протоколированию изменений в ячейках).
Поиск-замена (макросом) говорит, что слишком сложная формула.
Можно ли из общего количества символов в ячейке не найти-заменить, а просто удалить символ (запятую).
Если это тоже не поможет (скорее всего), то что можно сделать в этом случае?
Если не можешь победить беспорядок, возглавь его
Как заменить символы на другом листе не переходя на него
 
Получилось.
Код
Sub ЗаменаСимвола()
    Range(ThisWorkbook.Sheets("Лист2").[A1], ThisWorkbook.Sheets("Лист2").[A100].End(xlUp)).Replace "1", "20"
End Sub
Спасибо ответившем.
Если не можешь победить беспорядок, возглавь его
Как заменить символы на другом листе не переходя на него
 
У меня не получается.
Excel 2003
Изменено: MedvedevAV - 19.08.2015 10:48:16
Если не можешь победить беспорядок, возглавь его
Как заменить символы на другом листе не переходя на него
 
Добрый день.
Запутался в элементарном. Как на другом листе заменить символ в колонке не выделяя и переходя на него, без Selecta.
На активном листе заменяю так:
Код
Sub ЗаменаСимвола()
    [A:A].Replace "1", "2"
End Sub
А если с листа Лист1 запускаю этот макрос, уже не получается:
Код
Sub ЗаменаСимвола()
    ThisWorkbook.Sheets("Лист2"). Range([A1], [A100].End(xlUp)).Replace "1", "2"
End Sub
Как исправить?
Если не можешь победить беспорядок, возглавь его
Как узнать имя листа, который был активным при закрытии книги?
 
Листов будет относительно много, не менее 100 шт. Ярлыки всех листов видны не будут.
По этой и другим причинам переходить к последним изменениям (чаще) или на лист с оглавлением (реже) будет весьма удобно (скорее всего:).

А вопрос решил так:
1. В Private Sub Workbook_BeforeClose(Cancel As Boolean) вставил
Код
ThisWorkbook.Sheets("ИмяЛиста").[A1] = ActiveSheet.Name
2. Создаем гиперссылку по имени листа (можно с пробелами в названии) и переходим по ней.
Код
Private Sub Гиперссылка()
    ActiveSheet.Hyperlinks.Add Anchor:=ThisWorkbook.Sheets("ИмяЛиста").Range("A1"), _
    Address:="", _
    SubAddress:="'" & ThisWorkbook.Sheets("ИмяЛиста").Range("A1").Value & "'!A1", _
    TextToDisplay:=ThisWorkbook.Sheets("ИмяЛиста").Range("A1").Value

    ThisWorkbook.Sheets("ИмяЛиста").Range("A1").Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub
3. На кнопку или в автозагрузку вешаем выбор.
Код
Private Sub Переход()
    On Error Resume Next
    If MsgBox("Вернуться на место где остановились?!" & vbLf & _
    "Да - переходим на лист " & [A1] & vbLf & _
    "Нет - переходим к оглавлению", vbYesNo) = 6 Then
        Call Гиперссылка
    Else
        Sheets("Оглавление").Select
    End If
End Sub 
Все работает как задумывалось.
Спасибо всем за помощь.
Изменено: MedvedevAV - 14.08.2015 00:46:59
Если не можешь победить беспорядок, возглавь его
Как скрыть заголовки строк и столбцов во всей книге
 
Разобрался.
Особенность является применения свойства не листа а Window
Код такой
Код
Sub ЗаголовкиСкрыть()
Dim wsSh As Worksheet
    For Each wsSh In ThisWorkbook.Sheets
             wsSh.Activate: ActiveWindow.DisplayHeadings = False
    Next wsSh
End Sub
Если не можешь победить беспорядок, возглавь его
Как скрыть заголовки строк и столбцов во всей книге
 
Добрый день!
Как скрыть заголовки строк и столбцов на всех листах?
Такой код выдает ошибку.
Код
Sub www()
Dim wsSh As Worksheet
For Each wsSh In ThisWorkbook.Sheets
         wsSh.DisplayHeadings = False
Next wsSh
End Sub
Если не можешь победить беспорядок, возглавь его
Как макросом создать гиперссылку и перейти по ней на лист, имя которого в ячейке?
 
Спасибо за помощь.
Добавил еще
Код
Range("A1").Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
и стало переходить как надо.
Если не можешь победить беспорядок, возглавь его
Как макросом создать гиперссылку и перейти по ней на лист, имя которого в ячейке?
 
Добрый день!
Как макросом создать гиперссылку и перейти по ней на лист, имя которого расположено в ячейке?
Если не можешь победить беспорядок, возглавь его
Как узнать имя листа, который был активным при закрытии книги?
 
Разобрался.
Отдельный лист "Лог" (sLog)  являлся последним изменяемым и он при закрытии (и открытии) становился очень скрытым.
Спасибо за помощь!!!

Особенность только в том, что этот макрос автоматически перемещает изменяемый лист и делает его последним в закладках.
Когда листов много это неудобно. Все путается.
Изменено: MedvedevAV - 12.08.2015 13:28:49
Если не можешь победить беспорядок, возглавь его
Как узнать имя листа, который был активным при закрытии книги?
 
У меня при закрытии книги есть код который протоколирует активность пользователя (время входа-выхода)
Код
Dim LastRow As Integer
        LastRow = ThisWorkbook.Sheets(sLog).Range("A10000").End(xlUp).Row       'ищем последнюю занятую строчку в логах
        If LastRow > 1 Then ThisWorkbook.Sheets(sLog).Cells(LastRow, 3) = Now   'заносим дату-время выхода из файла
Если с этим кодом - ошибка при выходе про неверное завершение Move появляется.
Если этот код убрать - выходит нормально.
В чем особенность?
Изменено: MedvedevAV - 12.08.2015 12:35:19
Если не можешь победить беспорядок, возглавь его
Как узнать имя листа, который был активным при закрытии книги?
 
Если вместо неравно ставлю = не ругается при открытии закрытии, но потом при выборе - да, ошибка 1004.

Пробую методом исключений пока сам. Чего ему не понравилось.

В коде точно оставить один из вариантов:
или Private Sub Workbook_SheetActivate(ByVal Sh As Object)  
или Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) ?!
Изменено: MedvedevAV - 12.08.2015 12:27:58
Если не можешь победить беспорядок, возглавь его
Как узнать имя листа, который был активным при закрытии книги?
 
В примере все получилось как надо. Переходит!
Перебросив в свой пример выдает ошибку при закрытии и открытии книги что
Метод Move из класса Worksheet завершен неверно и подсвечивает эту строку кода
Код
Sh.Move After:=Sheets(Sheets.Count)
Весь код (модуль книги).
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name <> "Титул" Then
       Sh.Move After:=Sheets(Sheets.Count)

    Application.DisplayAlerts = False
      ThisWorkbook.Save
    Application.DisplayAlerts = True

    End If
End Sub
В чем может быть дело?
Модуль моя книга у меня не пустой. Может что-то там противоречит Move?!
Изменено: MedvedevAV - 12.08.2015 12:06:02
Если не можешь победить беспорядок, возглавь его
Как узнать имя листа, который был активным при закрытии книги?
 
Лист с содержанием есть. Последний редактируемый лист всегда разный.
При открытии книги и авторизации пользователя, чтобы он не вспоминал на каком месте закончил нужен переход на последний редактируемый (активный при закрытии) лист
Если не можешь победить беспорядок, возглавь его
Как узнать имя листа, который был активным при закрытии книги?
 
Файл при закрытии принудительно сохраняется. А при его открытии хочу сделать, чтобы появлялась выбрать действие: вернуться и продолжить или начать с оглавления.

В ячейку (например А1) при закрытии книги имя листа записывает, но как перейти на лист, имя которого записано в этой ячейке?

С созданием гиперссылки не получается. Что-то не так указываю.
Пробовал с активацией ячейки (SendKeys "{F2}+{Enter}"+макрос в модуле листа) и переходом на лист. Тоже не выходит.
Если не можешь победить беспорядок, возглавь его
Как узнать имя листа, который был активным при закрытии книги?
 
Как узнать имя листа, который был активным при закрытии книги?
Это необходимо для предоставления выбора пользователю при открытии файла: перейти на начальную страницу или на последнюю редактируемую (просмотренную).
Если не можешь победить беспорядок, возглавь его
Как сравнить значения именованных диапазонов используя условное форматирование?
 
Ячеек много в разных местах листа. Листов тоже много.  
А условное форматирование добавляю макросом. Включаю и выключаю его для проверки.

Хотел выделить и именовать все проверяемые ячейки в разных частях листа и сверить их с так же расположеными ячейками в другой части листа (скрытой).
Чтобы условное форматирование касалось только этих ячеек, а не всего диапазона (с левого верхнего угла, до правого нижнего).
Изменено: MedvedevAV - 05.08.2015 16:21:35
Если не можешь победить беспорядок, возглавь его
Как сравнить значения именованных диапазонов используя условное форматирование?
 
Добрый день.

Есть два равновеликих именованных диапазона со значениями (текст, число).
Можно ли и как правильно, если да, использовать имена диапазонов в сравнении их значений используя условное форматирование (формулы)?

Подробности в примере.
Изменено: MedvedevAV - 05.08.2015 16:15:43
Если не можешь победить беспорядок, возглавь его
Как переключать 2 цвета на фигуре по нажатию левой кнопки мыши?, Нажал раз - один цвет, нажал другой - другой цвет
 
Фигуры сгруппировал и переименовал. Цвет переключается как надо.
Спасибо ответившим. Буду использовать.
Если не можешь победить беспорядок, возглавь его
Как переключать 2 цвета на фигуре по нажатию левой кнопки мыши?, Нажал раз - один цвет, нажал другой - другой цвет
 
Получается менять цвет, но цветов получается почему-то четыре. Розовый-желтый-синий зеленый.
Нажал мышку - розовый, отжал - зеленый, нажал - синий, отжал - желтый и т.д.
Если не можешь победить беспорядок, возглавь его
Как переключать 2 цвета на фигуре по нажатию левой кнопки мыши?, Нажал раз - один цвет, нажал другой - другой цвет
 
Добрый вечер.
Подскажите, как можно сделать так, чтобы цвет заливки у фигуры (прямоугольника) менялся при нажатии на нее левой кнопки мыши?
Один раз нажал - фигура поменяла цвет с исходного (например зеленый цвет) на синий, еще раз нажал - обратно поменяла на зеленый и т.д.
Если не можешь победить беспорядок, возглавь его
Как диапазон, заданный в виде переменной, использовать в других процедурах модуля?
 
Спасибо, все получилось!
Если не можешь победить беспорядок, возглавь его
Как диапазон, заданный в виде переменной, использовать в других процедурах модуля?
 
Добрый день.

Есть заданный диапазон, который используется в нескольких процедурах модуля листа.
Как правильно объявить переменную, чтобы не выдавало ошибок при его использовании в других макросах?
Пробовал по разному, но выходит. Что-то упускаю.
Код
    Dim v As Range
    Set v = ActiveSheet.Range("A5:I5")
и далее его использование в другом макросе, который выдает ошибку, что невидно объекта.
Код
Sub Color ()
    v.Interior.ColorIndex = 19
End Sub
Изменено: MedvedevAV - 30.07.2015 12:14:50
Если не можешь победить беспорядок, возглавь его
Как в макросе перечислить несколько листов по маске названия
 
Какие есть варианты, что бы можно регулярно выполнять действие (копирование например) на нескольких листах сразу названия которых меняются, но начинаются названия одинаково?
Если не можешь победить беспорядок, возглавь его
Страницы: 1 2 3 4 5 6 7 8 След.
Наверх