Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1 2 След.
RSS
Как копировать текст с ячейки и преобразовать его в примечание, (VBA)
 
Как копировать обычный текст с ячейки или всю таблицу целиком в виде календаря (с формулами) копировался и вставлялся как примечание уже в виде значений, можно было его вставить как примечание
Искал везде как это сделать, но не нашел. Спасибо
Изменено: Goldenito - 8 Июн 2017 16:33:02
 
Вообще непонятно чего хотите. Как это таблицу - в примечание? Может пример приведете?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
next777pro написал:
Искал везде как это сделать, но не нашел.
Не удивительно. Вы что-то представили в голове, а изложить или сформулировать это не можете.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
next777pro, зайдите в свой профиль и поменяйте отображаемое имя (логин).
И я тоже Ваше сообщение не смог переварить ) Попробуйте переформулировать, и прикрепите файл-пример, где покажите нужный результат.
 
Цитата
The_Prist написал:
Вообще непонятно чего хотите
Цитата
Alemox написал:
Вы что-то представили в голове
Цитата
Юрий М написал:
И я тоже Ваше сообщение не смог переварить )
прикрепил файл, простите) только что там показал в пустой таблице, как должно выглядеть примечание при копировании из общей таблицы с датами
Изменено: next777pro - 8 Июн 2017 16:21:10
 
Значение ячейки в примечание
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
Sanja написал:
Значение ячейки в примечание
пока не понял как делать с этим кодом, попробовал не получается
Изменено: Goldenito - 8 Июн 2017 16:40:13
 
Цитата
next777pro написал:
показал в пустой таблице, как должно выглядеть примечание
А чем примечания 1, 2, 3 отличаются друг от друга? Вы пишете "ИЛИ так" )
 
Цитата
Юрий М написал:
Вы пишете "ИЛИ так"
Дело в том что можно скопировать, как в таблице в виде значений это будут даты этого месяца, но так как в первой таблице даты в оригинале идут 01.06.2017 и путем сокращений в формате выглядят как просто даты, мне подойдет любой из этих вариантов, или число или полностью вся дата, как получится
Изменено: Goldenito - 8 Июн 2017 16:50:25
 
Цитата
Goldenito написал:
мне подойдет любой из этих вариантов
Но ведь у Вас все три варианта идентичны ))
А вообще я задумку не понял. Получается, что Вам нужен "пустой" календарь, а даты именно в примечаниях. Так?
 
Цитата
Юрий М написал:
А вообще я задумку не понял
Я вот тоже не догоняю. Что куда копировать?
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
Юрий М написал:
"пустой" календарь, а даты именно в примечаниях
точно, пустой календарь, но только с примечаниями, перенести значения с первой таблицы (даты) именно оттуда взять и вставить в виде примечаний на второй таблице. вот)
может это поможет ? правда переделать пока не смог
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.ClearComments
If Target.Column <> 2 Or Target.Value = "" Then Exit Sub
With Target
.AddComment
.Comment.Text Text:=Target.Value
.Comment.Shape.TextFrame.AutoSize = True
End With
End Sub
Изменено: Goldenito - 8 Июн 2017 17:04:33
 
Ну тут можно схитрить: приравнять значения правого диапазона к значению левого и применить белый шрифт.
Или создать примечания к ячейкам правого, взяв текст из левого диапазона. Конечно, преобразовав его в дату, отталкиваясь от названия месяца.
 
Цитата
Юрий М написал:
белый шрифт.
белый шрифт не пойдет, так как там в пустой я использую другие формулы по подсчету, вообщем значения там не должны быть
только примечания для определения дат
 
Вот так попробуйте
Код
Sub AddComents()
Dim rCell As Range, iMonth As Long, Txt As String
    iMonth = Month(Date)
    For Each rCell In Range("B6:H11")
        Txt = rCell.Text & "." & iMonth & "." & Year(Date)
        With rCell.Offset(0, 8)
            If Not .Comment Is Nothing Then .Comment.Delete
            .AddComment
            .Comment.Text Text:=Txt
        End With
    Next
End Sub
 
Если не нужны комментарии к датам, выходящим за пределы месяца, то придётся добавить проверку.
 
Цитата
Юрий М написал:
придётся добавить проверку
Спасибо, частично решил, но вначале даты 5го месяца а он показал 6го, а в конце вместо 7го тоже 6)
 
Юрий М, Оставил такой вариант))

Спасибо огромное
Код
Sub AddComents()
Dim rCell As Range, iMonth As Long, Txt As String
    iMonth = Month(Date)
    For Each rCell In Range("B6:H11")
        Txt = rCell.Text
        With rCell.Offset(0, 
            If Not .Comment Is Nothing Then .Comment.Delete
            .AddComment
            .Comment.Text Text:=Txt
        End With
    Next
End Sub
Изменено: Goldenito - 8 Июн 2017 17:56:45
 
Юрий М, а как сделать чтобы они посередине были
Код
Sub AddComents()
Dim rCell As Range, iMonth As Long, Txt As String
    iMonth = Month(Date)
    For Each rCell In Range("B6:H11")
        Txt = rCell.Text
        With rCell.Offset(0, 
            If Not .Comment Is Nothing Then .Comment.Delete
            .AddComment
            .Comment.Text Text:=Txt
            .Comment.Shape.Width = 20
            .Comment.Shape.Height = 20
            .HorizontalAlignment = xlCenter
        End With
    Next
End Sub
 
Какое отношение вопрос про форматирование примечания имеет к этой теме?
 
Юрий М, ладно пойдет
 
Юрий М, остался один вопрос, кстати по теме, как копировать только те числа, которые в этом месяце (другие не копировать)
 
Я же говорил - нужно будет добавить проверку: у Вас ведь УФ (бледный текст) выполняется по некому условию? Вот это же условие используйте и в проверке.
 
Офф
Цитата
Goldenito написал: Юрий М , ладно пойдет
Одолжение сделал...
Включите макрорекордер - Приведите примечание к нужному Вам виду - Выключите запись. Разберитесь в полученном коде
Хоть что нибудь САМИ сделайте!
Согласие есть продукт при полном непротивлении сторон.
 
Тоже обратил на это внимание - пойдёт...
Попробуйте такой вариант:
Код
Sub AddComents()
Dim rCell As Range, iMonth As Long, Txt As String, Rng As Range
    For Each rCell In Range("J6:P11")
        If Not rCell.Comment Is Nothing Then rCell.Comment.Delete
    Next
    iMonth = Month(Date)
    For Each rCell In Range("B6:H11")
        Txt = rCell.Text & "." & iMonth & "." & Year(Date)
        With rCell.Offset(0, 8)
            If Month(rCell) = iMonth Then
                .AddComment
                .Comment.Text Text:=Txt
            End If
        End With
    Next
End Sub
 
Юрий М, не получится так как в примечании ставит что все даты за июнь, я уже писал выше об этом что все даты, по вашему макросу проставлены почему-то за июнь, а в первой таблице правильно стоят за разные месяцы в начале мая, июнь, затем конец июль
Изменено: Goldenito - 8 Июн 2017 20:40:30
 
Цитата
Goldenito написал:
не получится
Проверили?
 
Цитата
Юрий М написал:
Проверили
конечно, смотрите сами, дописано везде июнь месяц
 
Вы макрос из #25 проверили? Пожалуйста, читайте ВСЁ, что Вам пишут, а не выборочно.
 
Юрий М, секундочку
Цитата
Юрий М написал:
Попробуйте такой вариант:
вот отлично получилось))) круто очень даже, слов нет

месяц без нуля)) как исправить это
Изменено: Goldenito - 8 Июн 2017 20:56:56
Страницы: 1 2 След.
Читают тему (гостей: 1)
Наверх