Страницы: 1
RSS
Вернуть текст комментария без автора комментария, убрать имя автора с двоеточием
 
Уважаемые корифеи VBA, прошу помощи!  8-0

Имеется макрос, который собирает все комментарии (заметики, notes в Excel 365) в таблицу на отдельном листе. При создании комментария в его шапке автоматически появляется имя автора комментария с двоеточием (см. изображение).

При попытке просто "склеить" автора с символом двоеточия VBA Editor выдает ошибку Compile Error Expected: list separator or )
Код
Dim com As Comment
...
.Cells(i, 3).Value = Replace(com.Text, com.Author&": ", "")
...
Как правильно удалить имя автора и двоеточие, оставив только сам текст комментария?

Спасибо.
Can't get it, don't need it.
 
Kate, из сузествующего названия темы можно понять задачу? Предложите новое - модераторы поменяют.
И небольшой файл-пример прикрепите.
 
Тема: Вернуть текст комментария без автора комментария

Вариант 1
Код
Sub Макрос1()
Dim text As String
    text = ActiveCell.Comment.text
    text = Replace(Mid(text, InStr(1, text, ":") + 1, Len(text)), Chr(10), "")
    MsgBox text
End Sub

Вариант 2
Код
Sub Макрос2()
Dim text As String
    text = Replace(Split(ActiveCell.Comment.text, ":")(1), Chr(10), "")
    MsgBox text
End Sub
Изменено: New - 22.09.2020 12:12:32
 
А можно брать split(text,":",2)(1)
 
кстати, да... спасибо, Игорь. Добавил 2-й вариант в свой ответ
Изменено: New - 22.09.2020 12:08:38
 
Но если брать второй результат деления - нужно сперва проверить что есть на что делить!
 
Цитата
Юрий М написал:
Предложите новое - модераторы поменяют.
Извините, я не знаю, как иначе назвать это...

Цитата
New написал:
P.S. Вернуть текст комментария без автора комментария
Спасибо Вам огромное!
Can't get it, don't need it.
 
Цитата
Kate написал:
Извините, я не знаю, как иначе назвать это...
Вы не знаете, в чём заключается Ваша задача?  А последнее предложение в стартовом сообщении Вы сами писали?
Мзменил название...
 
Цитата
Hugo написал:
Но если брать второй результат деления - нужно сперва проверить что есть на что делить!
Поэтому я split сразу отбросила. Спасибо Вам тоже!
Can't get it, don't need it.
 
Цитата
Юрий М написал:
Вы не знаете, в чём заключается Ваша задача?  
Конечно, я знаю, поэтому и описала, как смогла. Откуда мне знать, как Вы хотели, чтобы я ее описала. :)  
Can't get it, don't need it.
 
Цитата
Kate написал:
VBA editor ругается Compile Error Expected: list separator or )
Это только для вас наличие пробелов не существенно. Но не для VBA.
Код
.Cells(i, 3).Value = Replace(com.Text, com.Author & ":", "")
Изменено: RAN - 22.09.2020 12:48:22
 
:( Да, Вы правы! Грубая ошибка. Спасибо большое.
Can't get it, don't need it.
 
Кстати, судя по тому, что у вас после двоеточия стоит пробел, вы пытались написать это
Код
.Cells(i, 3).Value = Replace(com.Text, com.Author & ":" & Chr(10), "")
 
Цитата
Kate написал:
Откуда мне знать, как Вы хотели, чтобы я ее описала.
Да не нужно думать, понравится МНЕ или нет. Нужно формулировать так, чтобы из названия ВСЕМ была понятна проблема (задача). И в правилах об этом написано специально.
Ведь смогли же сформулировать в описании - почему бы прямо эту строку не поставить в название? Или Вы полагаете, что название Комментарий VBA - достаточно информативно?
И хватит спорить! Просто примите к сведению и в следующий раз думайте, когда создаёте тему.
 
RAN, да!  *facepalm* :D потому что я не догнала сразу, что это line feed, а не space.
Еще раз премного благодарна.  
Can't get it, don't need it.
Страницы: 1
Наверх