Страница: 1 |
Страница: 1 |
Вопрос: помогите разобраться с условием
Добавлено: 17.05.08 07:16
Автор вопроса: noob
никак не получается сделать следующее условие, выходит bug . необходимо добавить в ячейку ексель comment, а если он уже есть то добавлять не надо, или другое условие - отредактировть этот коммент
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
Pavel
Вопросов: 0
Ответов: 36
Профиль | | #1
Добавлено: 17.05.08 09:05
Для ячейки А1
Dim xComm As Comment
Set xComm = Range("A1".Comment
If xComm Is Nothing Then
With Range("A1"
.AddComment
.Comment.Text "бла-бла-бла"
End With
Else
MsgBox "Комментарий уже есть!"
End If
End Sub
Номер ответа: 2
Автор ответа:
noob
Вопросов: 5
Ответов: 25
Профиль | | #2
Добавлено: 17.05.08 15:22
спасибо разобрался
Columns("B:B".Select
Selection.Insert Shift:=xlToRight
Range("B1".Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Sheet3!C[-1]:C,2,FALSE)"
Selection.AutoFill Destination:=Range("B1:B20", Type:=xlFillDefault
Range("B1:B20".Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B1".Select
Application.CutCopyMode = False
For z = 1 To 20
Dim xComm As Comment
Set xComm = Range("c" & z).Comment
If xComm Is Nothing Then
With Range("c" & z)
.AddComment
.Comment.Text "sd" & Chr(10) & Range("b" & z)
End With
Else
Range("c" & z).Comment.Text "sd" & Chr(10) & Range("b" & z)
End If
Next
Columns("B:B".Select
Selection.Delete Shift:=xlToLeft
End Sub
Номер ответа: 3
Автор ответа:
noob
Вопросов: 5
Ответов: 25
Профиль | | #3
Добавлено: 21.05.08 12:30
подскажите пожалуйста
получается выполнение только для одного листа для нескольких листов никак не могу написать выходит bug.
Номер ответа: 4
Автор ответа:
StrongMax
Вопросов: 1
Ответов: 4
Профиль | | #4
Добавлено: 26.05.08 10:42
Нужно либо менять Активный лист, либо пользоваться конструкцией Книга.Лист("Лист2".Яцейки.
Прошу прощения, не могу прислать код. Нет Office на компе.
Номер ответа: 5
Автор ответа:
Smith
ICQ: ненавижу
Вопросов: 28
Ответов: 317
Web-сайт:
Профиль | | #5
Добавлено: 28.05.08 09:04
Noob, всё этими Range, Select да ActiveCell пользуешься.
Для нескольких листов это запросто, но лучше откажись от макросовских методов.
Тут ещё другая проблема, AddComment не принимает переменные, только константы, "текст" заготовленный ещё в коде.
Т.е. в коммент нельзя назначить текст из ячейки.
Единственный вариант, это описать в коде все возможные варианты комментариев и выбирать нужный в зависимости от текста ячейки.
Номер ответа: 6
Автор ответа:
noob
Вопросов: 5
Ответов: 25
Профиль | | #6
Добавлено: 30.05.08 09:46
текст из ячейки получается вставить в комментарий. для нескольких листов практически получается если не менять следующее, но тогда для всех листов вставится одно и то же - при изменении имени листа (sheet2)из которого копируются ячейки
возникает bug в
End With
Else
Range("c" & z).Comment.Text "sd" & Chr(10) & Range("b" & z)
End If