Има ли начин?

3 отговора 168 прегледа
#1

Има ли начин?

Здр, има ли начин да се сложат "бележки" на клетките ,а съдържание да се черпи от зададен адрес? А именно : клаетка sheet1!A1 да покава бележка съдържаща данните от клетка sheet2!A1

Предварително благодаря

Отговор
в отговор на teoiva #2

Re: Има ли начин?

Обясни каква е целта на занятието.
Защо трябва да бъдат "бележки", а не в клетка, която да е до въпросната.

А по въпроса мисля, че това ще свърши работа

Стартирай VisualBasicEditor (Alt+F11) избери Sheet2 (т.е. там където са данните за „бележките”) и копирай този код:


Private Sub Worksheet_Change(ByVal Target As Range)
Dim x

x = Target.Row
If Target.Row < 2 And Target.Row > 20 Then Exit Sub

Select Case Target.Column
Case 1
On Error Resume Next

Sheets("Sheet1").Range("A" & x).AddComment
Sheets("Sheet1").Range("A" & x).Comment.Text _
Text:="Забележка:" & Chr(10) & Sheets("Sheet2").Range("A" & x)

End Select

End Sub



По този начин променяйки данните в Sheet2 от А2 до А20, се променят и коментарите в Sheet1 от А2 до А20

Ако не е точно това, което ти трябва пиши

Редактирано от cveti_m на

Отговор
в отговор на cveti_m #3

Re: Има ли начин?

Това ми върши перфектна работа, а идеята е имам много колони и тези "забележки" не са ми необходими постоянно и така си ги виждам когато ми трябват + това немогат да бъдат изтрити

Хиляди благодарност

А понеже си толкова отзивчива мога ли да попитам как би изглеждал кода ако не е адресирано само до колона А :-))

Редактирано от teoiva на

Отговор
в отговор на teoiva #4

Re: Има ли начин?


Ако искаш да добавиш същите коментари например и в колона В
става така

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x

x = Target.Row
If Target.Row < 2 And Target.Row > 20 Then Exit Sub

Select Case Target.Column
Case 1
On Error Resume Next

Sheets("Sheet1").Range("A" & x).AddComment
Sheets("Sheet1").Range("A" & x).Comment.Text _
Text:="Забележка:" & Chr(10) & Sheets("Sheet2").Range("A" & x)

On Error Resume Next

Sheets("Sheet1").Range("b" & x).AddComment
Sheets("Sheet1").Range("b" & x).Comment.Text _
Text:="Забележка:" & Chr(10) & Sheets("Sheet2").Range("A" & x)


End Select


End Sub


Редактирано от cveti_m на

Отговор