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

Страницы: 1 2 След.
Выделение цветом конкретной ячейки на других листах
 
Все же добавил в код Range("i1").Select. На других листах вручную просто поставил в ячейки нужные.
Стало намного удобнее.
Сделал еще защиту листа, чтобы случайно не удалили позиции из списка.
Спасибо большое за код - теперь все работает как задумывалось.  
Выделение цветом конкретной ячейки на других листах
 
Цитата
Юрий М написал:
P.S. При написании кода используйте табуляцию - читабельность гораздо лучше.
Да, спс.
Изменено: IVAN92 - 23.02.2020 18:35:45
Выделение цветом конкретной ячейки на других листах
 
Цитата
Юрий М написал:
Забудьте про активацию (Select),- объясните, что должно происходить с ячейками при включении/отключении кнопки.
При нажатии кнопки должен включаться и отключаться этот код. Но когда его отключаешь, то последняя ячейка выделенная становится зеленой.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Cells.FormatConditions.Delete
With Target
.FormatConditions.Add Type:=xlExpression, Formula1:=True
.FormatConditions(1).Interior.Color = RGB(209, 241, 218)
End With
End Sub
Изменено: IVAN92 - 23.02.2020 18:16:21
Выделение цветом конкретной ячейки на других листах
 
Вот пример. Попробуйте включить on, и далее выбирать отдельно ячейки. Потом включить off и также выбрать ячейки.
Выделение цветом конкретной ячейки на других листах
 
Похоже я непонятно излагаю, что пытаюсь получить. Попробую на картинках показать.

Вот ячейка вкл и активно выделение цветом. Далее выключаю выделение цветом и выделяется ячейка i2. И после этого та ячейка остается выделена зеленым цветом i2, а я могу без выделения цветом выделять все остальные ячейки.

Так не пойдет. Картинки удалены - превышение допустимого размера вложения [МОДЕРАТОР]
Изменено: IVAN92 - 23.02.2020 17:55:53
Выделение цветом конкретной ячейки на других листах
 
Цитата
Юрий М написал:
что-то Вы перемудрили - зачем УФ? Зачем Select? Обычная заливка чем не устраивает?
Вставил код на каждом листе. Он позволяет менять цвет выделенной ячейки и если выделить другую, то формат прошлой возвращается.
Минус этого способа в том, что при печати выделенной области - область выделяется цветом и формат (например стиль таблицы с чередующимися строками удаляется).
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Cells.FormatConditions.Delete
With Target
.FormatConditions.Add Type:=xlExpression, Formula1:=True
.FormatConditions(1).Interior.Color = RGB(209, 241, 218)
End With
End Sub
Исходя из этого для печати нужно на время выключить цветное выделение, для этого сделал отдельно макрос, который отключает действие макроса выше и выделяет ту область (в данном случае ячейку), которая не попадает в область печати.
На листе с кнопкой ячейка отлично выделяется, но т.к. код есть на других листах, то в этих листах зеленым выделяется ячейка на которой остановился, а хотел сделать как на первом листе.
В этом коде на первом листе при включении и отключении выделяется ячейка i1., вот пытаюсь, чтобы этот код также выделял эту ячейку на других листах.
Код
Private Sub ToggleButton1_Click()
Select Case ToggleButton1
Case False 'когда он не активен
Range("i1").Select
Application.EnableEvents = True
Case True 'когда активен
Range("i1").Select
Application.EnableEvents = False
End Select
With Me.ToggleButton1
        If .Value - True Then
            .Caption = "On"
        Else
            .Caption = "Off"
        End If
    End With
End Sub
Изменено: IVAN92 - 23.02.2020 17:39:29
Выделение цветом конкретной ячейки на других листах
 
Цитата
buchlotnik написал:
ну ячейки на разных листах можно так выделить:
Попробовал, через несколько операций происходит сбой в excel и макрос блокируется даже удалить нельзя.
Выделение цветом конкретной ячейки на других листах
 
Мне нужно поместить выделение ячейки i2 на листе морепродукты в этот код (т.е. нужно выделить ячейку не только на первом листе, но и на других)
Код
Private Sub ToggleButton1_Click()
Select Case ToggleButton1
Case False 'когда он не активен
Range("i1").Select
Application.EnableEvents = True
Case True 'когда активен
Range("i1").Select
Application.EnableEvents = False
End Select
With Me.ToggleButton1
        If .Value - True Then
            .Caption = "On"
        Else
            .Caption = "Off"
        End If
    End With
End Sub

А этот код расположен в каждом листе
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Cells.FormatConditions.Delete
With Target
.FormatConditions.Add Type:=xlExpression, Formula1:=True
.FormatConditions(1).Interior.Color = RGB(209, 241, 218)
End With
End Sub
Изменено: IVAN92 - 23.02.2020 17:33:40
Выделение цветом конкретной ячейки на других листах
 
Выделить в листах Морепродукты, Техника  -- ячейку i1
Изменено: IVAN92 - 23.02.2020 15:02:38
Перенести текст из ячейки в UserForm.TextBox с сохранением форматирования
 
Значит это сделать нельзя.
Необходимо было перенести значение в другую таблицу с сохранением формата. Решил копированием ячейки.

Спасибо
Изменено: IVAN92 - 23.02.2020 15:12:06
Выделение цветом конкретной ячейки на других листах
 
Добрый день!
Находил темы про выделение ячейки - координатное выделение, также надстройка выделенной ячейкой с помощью стрелочек.

На просторах сети есть способ выделения активной ячейки цветом.
Немного подредактировал (благодаря форуму) и добавил кнопку для включения и выключения выделения.

Как добавить в код ToggleButton1 - выделение конкретной ячейки на других листах (это необходимо при печати выделенной области, т.к. данный способ удаляет форматирование)
Ниже код и файл пример.
Код
Private Sub ToggleButton1_Click()
Select Case ToggleButton1
Case False 'когда он не активен
Range("i1").Select
Application.EnableEvents = True
Case True 'когда активен
Range("i1").Select
Application.EnableEvents = False
End Select
With Me.ToggleButton1
        If .Value - True Then
            .Caption = "On"
        Else
            .Caption = "Off"
        End If
    End With
End Sub
Изменено: IVAN92 - 23.02.2020 14:54:18
Перенести текст из ячейки в UserForm.TextBox с сохранением форматирования
 
Но в Excel этого бокса нет же.
Перенести текст из ячейки в UserForm.TextBox с сохранением форматирования
 
Цитата
aequit написал:
Не всё потеряно (см. скриншот).Укажите Вашу версию Excel.
Версия 2013
Перенести текст из ячейки в UserForm.TextBox с сохранением форматирования
 
Цитата
Михаил Витальевич С. написал:
зы. Вы уверенны, что вам это нужно?
Посмотрел в настройках textbox, из всего нашел только как закрепить окно и не изменять содержимое. Скорее всего действительно это сделать невозможно.
Думал есть код - PasteSpecial или подобный ему. Он применяется при копировании ячеек. Возможно с textbox такое сделать нельзя.
Перенести текст из ячейки в UserForm.TextBox с сохранением форматирования
 
Цитата
Михаил Витальевич С. написал:
Для примера нужен ваш файл в формате Excel.
Добавил файл. Как при операциях сохранить полужирный формат текста? (Кабель ВВГнг-П-LS)
Изменено: IVAN92 - 23.02.2020 17:01:46
Перенести текст из ячейки в UserForm.TextBox с сохранением форматирования
 
Цитата
Юрий М написал:
а зачем Вы на форуме по Excel показываете картинки?
удалил картинки.
Перенести текст из ячейки в UserForm.TextBox с сохранением форматирования
 
Добрый день! Ниже приведен код - для вставки текста в UserForm.
Но данный код только копирует значение текста. Как можно скопировать текст с сохранением форматирования (нужен полужирный шрифт в определенном месте).
Если это возможно.
Код
Private Sub CommandButton1_Click()
UserForm1.TextBox1 = ActiveCell.Value
UserForm1.Show
End Sub
 
Изменено: IVAN92 - 23.02.2020 12:45:42
ToggleButton и название переключателей, Как задать нужное название
 
Цитата
Юрий М написал:
Нужна надпись на кнопке, а Вы пишете про имя макроса...
Да, извините не так выразился. Это и было нужно большое спс.
ToggleButton и название переключателей, Как задать нужное название
 
Цитата
Юрий М написал:
Название (имя) макроса всегда будет таким, каким Вы его назвали.
Возможно не так выразился.
Вот пример: макрос скрывает строки со значением 0.
Код
Private Sub tgbZero_Click()
Application.ScreenUpdating = False  ' отключаем обновление экрана во время выполнения макроса
i = 2 'номер строки, с которой начнется обработка
    While i <= UsedRange.Rows.Count ' проверяем каждую строчку пока не встретимся с пустым значением т.е. концом списка
        If tgbZero Then ' при нажатом положении кнопка tgbZero принимает значениее True
            Sheets("Складские запасы").tgbZero.Caption = "Отобразить все строки"  'меняем надпись на кнопке, чтобы было понятно, что произойдет в следующий раз
            If Cells(i, 3).Value = 0 And Not IsEmpty(Cells(i, 3)) Then   ' прячем или показываем строки с нулевым значением
                Rows(i).Hidden = True       ' зависимости от значения в ячейке столбца "Кол"
            Else                            ' и в зависимости от положения кнопки
                Rows(i).Hidden = False
            End If
        Else
            Sheets("Складские запасы").tgbZero.Caption = "Скрыть нулевые строки"
            Rows(i).Hidden = False          ' режим отображения всех строк в том числе и с нулем
        End If
        i = i + 1
    Wend
Application.ScreenUpdating = False  ' включаем обновление экрана во время выполнения макроса
End Sub
Когда все строки показаны - пишется "скрыть нулевые строки", когда скрываю их - "Отобразить все строки".
Нужно тоже самое, но в код выше. Пробовал сам сделать, но в ошибку вылетает.
Изменено: IVAN92 - 22.02.2020 13:51:34
ToggleButton и название переключателей, Как задать нужное название
 
Добрый день! Как задать название для кнопки когда он активен и не активен?
Код
Private Sub ToggleButton1_Click()
Select Case ToggleButton1
Case False 'когда он не активен
Application.EnableEvents = True
Case True 'когда активен
Application.EnableEvents = False
End Select
End Sub
Изменено: IVAN92 - 23.02.2020 11:29:06
Копирование ячейки в умную таблицу без изменения цвета
 
Возможно нельзя создавать новую тему.
Как продолжение этой темы.
Имеется код для цветного выделения ячейки
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.FormatConditions.Delete
With Target
.FormatConditions.Add Type:=xlExpression, Formula1:=True
.FormatConditions(1).Interior.Color = RGB(252, 252, 77)
End With
End Sub
Опытным путем удалось узнать, если вставить данный код во все листы, то можно копировать данные с исходным форматированием (шрифты, цвет ячеек, цвет границ).
Но есть недостаток - при печати выделенного диапазона изменяются: цвет ячеек (например если чередуются строки), цветные границы (ставятся черные).
Как можно сделать, чтобы при печати выделенной области оставить цвет ячеек и границ.
Были мысли такие - сделать отдельно макрос флажок. При необходимости печати отключать и включать код выше. Но возможно есть другой способ?
Изменено: IVAN92 - 21.02.2020 22:30:10
Копирование ячейки в умную таблицу без изменения цвета
 
Цитата
samass написал:
Вы, видимо, не совсем поняли суть проблемы
Открыл ваш файл. У вас код находиться здесь:

Можно поместить его сюда и проверить.
 
Копирование ячейки в умную таблицу без изменения цвета
 
Цитата
samass написал:
Однако, при удалении данных из этой ячейки её цвет остаётся изменённым (((
Странно. Попробовал вставить строки, удалить строки, очистить строки, написать новый текст в строку. Цвет ячеек не менялся при всех операциях.
Попробуйте вставить код в конкретную страницу - лист1, правая кнопка, исходный текст.
Заметил одну тонкость. При копировании ячейки вручную Ctrl+C и вставке через enter цвет ячейки окрашивается.
Если же вставить через специальную вставку - значения, то данные вносятся без форматирования (только текст).
Если вставить с окрашиванием ячейки ее уже нельзя будет перекрасить, т.к. это было сделано через макрос.
Изменено: IVAN92 - 18.02.2020 23:40:50
Копирование ячейки в умную таблицу без изменения цвета
 
Alemox, Огромное спасибо!!!!! Так коротко и просто, теперь стало намного удобнее.
Копирование ячейки в умную таблицу без изменения цвета
 
Добрый день!  Нашел на просторах способ выделить активную ячейку цветом, цвет можно поставить любой.
Но есть недостаток такого способа, при копировании в умную таблицу - меняется цвет ячеек. Как можно копировать ячейки без изменения цвета?
Код выделения цвета ячейки через RGB:
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.FormatConditions.Delete
With Target
.FormatConditions.Add Type:=xlExpression, Formula1:=True
.FormatConditions(1).Interior.Color = RGB(252, 252, 77)
End With
End Sub
Данные в таблицу вводятся с помощью кода:
Код
Private Sub CommandButton2_Click()
Dim iLastRow As Integer
With Sheets("Отгрузки")
ActiveCell.Copy
iLastRow = .Cells(Rows.Count, 1).End(xlUp).Offset(0, 2).PasteSpecial
ActiveCell.Select
SendKeys ("{Enter}")
End With
End Sub
Таблица подхватывает значение, но после этого цвет ячейки уже нельзя поменять никак, только удалять строку.
Как внести данные из UserForm в умную таблицу
 
Строки итогов нет. Если таблица пустая изначально, то наверное код думает, что это объект и добавляет данные ниже.
Решение на данный момент - первую строку ввести вручную. Далее при вводе через форму - данные вносятся ниже таблицы, а таблица их уже определяет и подхватывает в свой диапазон.

Цитата
Андрей VG написал: ...дело в чём-то другом.
В таблице есть данные. Если таблица пустая (есть только заголовки), то она игнорируется и данные вводятся ниже.
Спасибо большое за идею! - можно первую строку вписать вручную, а дальше уже через форму вводить - проверил.
Изменено: IVAN92 - 15.02.2020 20:07:10
Как внести данные из UserForm в умную таблицу
 
Цитата
Андрей VG написал:
Попробовал. У меня вносится в конец таблицы. Значит дело в чём-то другом.
В таблице есть данные. Если таблица пустая (есть только заголовки), то она игнорируется и данные вводятся ниже.
Спасибо большое за идею! - можно первую строку вписать вручную, а дальше уже через форму вводить - проверил.
Изменено: IVAN92 - 15.02.2020 11:36:38
Как внести данные из UserForm в умную таблицу
 
Добрый день! Пытаюсь ввести данные UserForm1 на новый лист в умную таблицу.
Но при вводе значения вносятся ниже таблицы. Как их внести в саму таблицу в конец?
Код
Private Sub CommandButton1_Click()
Calendar.ShowCalendar
End Sub

Private Sub CommandButton2_Click()
Dim iLastRow As Integer
With Sheets("Отгрузки")
  iLastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
   .Cells(iLastRow, 1) = CDate(TextBox1.Text)
   .Cells(iLastRow, 2) = Me.TextBox2.Text
   .Cells(iLastRow, 3) = Me.TextBox3.Text
   .Cells(iLastRow, 4) = Me.TextBox4.Text
   .Cells(iLastRow, 5) = Me.ComboBox1.Text
   .Cells(iLastRow, 6) = Me.TextBox6.Text
End With
Unload UserForm2
End Sub

Private Sub CommandButton3_Click()
Unload UserForm2
End Sub
 
Текст из активной ячейки в TextBox1
 
RAN, Юрий М, хорошо! Спс большое, нет -  огромное!
Текст из активной ячейки в TextBox1
 
Цитата
Юрий М написал:
Возможно.
Буду искать и пробовать в этом направлении, главное что можно это сделать как-то.
Страницы: 1 2 След.
Наверх