konto usunięte

Temat: Referencja do komentarza

Witam,

mam prośbę o poradę:

W komórce B2 mam wpisaną zawartość "abc". Komórkę tę opatruję komentarzem "to jest nazwa produktu".

Komórka C12 ma być referencją do B2, dlatego w komórce C12 mam wpisaną formułę =B2. W ten sposób w komórce C12 pojawia sie zawartość komórki B2. W komórce C12 nie pojawia sie natomiast komentarz z komórki B2.

Czy istneieje jakiś sposób, aby komentarz z komórki B2 przeniósł się razem z jej zawartością do C12? Chodzi o to, aby w przypadku zmiany komentarza w B2, również w C12 wyświetlił się ten sam zmieniony komentarz.

Będę wdzięczny za podpowiedź.

Pozdrawiam
Marcin
Mateusz Kiryła

Mateusz Kiryła Student, UŁ

Temat: Referencja do komentarza

Istnieje :)
Musisz użyć zdarzenia Worksheet_Change, gdzie zmienionej komórce dodajesz komentarz z adresu na jaki wskazuje formuła. Pomocna będzie obsługa wyjątków.Ten post został edytowany przez Autora dnia 18.08.13 o godzinie 20:59
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: Referencja do komentarza

Mateusz K.:
Istnieje :)
Musisz użyć zdarzenia Worksheet_Change, gdzie zmienionej komórce dodajesz komentarz z adresu na jaki wskazuje formuła. Pomocna będzie obsługa wyjątków.
Niet. Zmiana komentarza nie wywoła zdarzenie, bo komentarz nie jest do komórki w obiektówce. Ten post został edytowany przez Autora dnia 18.08.13 o godzinie 22:51
Mateusz Kiryła

Mateusz Kiryła Student, UŁ

Temat: Referencja do komentarza

Wtedy przykładowo, Zmiana zawartości w komórce C12 i wpisanie w niej referencji do B2 spowoduje wywołanie zdarzenia Worksheet_Change, w którym to skopiowany zostanie komentarz z B2 do C12.
Nie wiedziałem natomiast , że obiekt Comment jest Readonly i nie można zrobić czegoś takiego jak:
Set Range("C12").comment=Range("B2").Comment
Co by rozwiązało sprawę aktualizacji komentarza w B2.

By zareagować na zmianę komentarza, można posłużyć się zdarzeniem Selection_Change w module arkusza, lub bardziej elegancko, stworzyć nową klasę, w której to, zostanie wywołane zostanie własne zdarzenie na zmianę komentarza typu wks_ChangeComment (Target as Range )
Bogdan Gilarski

Bogdan Gilarski www.excelperfect.pl
Perfect And
Practical

Temat: Referencja do komentarza

Nie ma sensownego, nawet z punktu widzenia VBA, sposobu aby odwołać się do wartości wpisu komentarza. Komentarze w Excelu nie służą do przechowywania informacji, które kiedykolwiek miałyby być przedmiotem obliczeń lub analiz. Zawsze też przechowują one wartości tekstowe, nawet jeżeli wyglądają na liczby.
Zatem wg mnie "to jest nazwa produktu" powinno być w jakiejś komórce obok B2 a nie w komentarzu podpiętym do B2.
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: Referencja do komentarza

Mateusz K.:
Nie wiedziałem natomiast , że obiekt Comment jest Readonly i nie można zrobić czegoś takiego jak:
Set Range("C12").comment=Range("B2").Comment
Co by rozwiązało sprawę aktualizacji komentarza w B2.
Najprostszy sposób na "aktualizację komentarza" to metoda pastspecial. Można ją przenieść same komentarze pomiędzy zakresami.

By zareagować na zmianę komentarza, można posłużyć się zdarzeniem Selection_Change w module arkusza, lub bardziej
Nie polecem. Mnóstwo niepotrzebnych wykonań.
elegancko, stworzyć nową klasę, w której to, zostanie wywołane zostanie własne zdarzenie na zmianę komentarza typu wks_ChangeComment (Target as Range )
Tak jak pisza Pan Bogdan - użyuwanie wogóle komentarzy to kiepski pomysł, a tworzenie własnych klas z personalizowanym zdarzeniem to zdecydowany przerost formy nad treścią.

Wojciech Gardziński

Wypowiedzi autora zostały ukryte. Pokaż autora
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: Referencja do komentarza

Wojciech G.:
http://afin.net/webcasts/Demo_UsingAnArchive1.swf

Wykorzystanie komentarzy w ok. 70% filmu.

A tutaj ideolo, czyli pocototo.
http://www.goldenline.pl/forum/2548658/archiwum-w-afin...
No to ja wstawię równie przydatny link:
https://www.google.pl/search?hl=pl&site=imghp&tbm=isch&...
Mateusz Kiryła

Mateusz Kiryła Student, UŁ

Temat: Referencja do komentarza

Najprostszy sposób na "aktualizację komentarza" to metoda pastspecial. Można ją przenieść same komentarze pomiędzy zakresami.

Chyba mnie Pan nie zrozumiał, chodzi o automatyczną aktualizację komentarza.
Tak jak pisza Pan Bogdan - użyuwanie wogóle komentarzy to kiepski pomysł, a tworzenie własnych klas z personalizowanym zdarzeniem to zdecydowany przerost formy nad treścią.

Nie twierdzę, że używanie komentarzy jest dobrym sposobem przechowywania informacji, które następnie podlegają analizom. Napisałem, jak można rozwiązać problem, jeżeli taka sytuacja już zaistniała. Bo istnieją sytuacje, kiedy pewnych rozwiązań nie można zmienić.
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: Referencja do komentarza

Mateusz K.:
Najprostszy sposób na "aktualizację komentarza" to metoda pastspecial. Można ją przenieść same komentarze pomiędzy zakresami.

Chyba mnie Pan nie zrozumiał, chodzi o automatyczną aktualizację komentarza.
To może napisze Pan jak dokładnie chciał by Pan to robić i jak miała by wyglądać procedura własnego zdarzenia ?
Mateusz Kiryła

Mateusz Kiryła Student, UŁ

Temat: Referencja do komentarza

Nie podaję tutaj gotowych rozwiązań, natomiast część odpowiedzialna za wygenerowanie zdarzenia zmiany komentarza mogłaby wyglądać tak:

Public Event ChangeComment(Target As Range)
Public WithEvents wks As Worksheet
Private rng As Range
Private sComment As String

Private Sub wks_SelectionChange(ByVal Target As Range)

On Error GoTo ErrHandler
If rng.Comment.Text <> sComment Then
RaiseEvent ChangeComment(rng)
End If
ErrHandler:
Set rng = Target
If Not Target.Comment Is Nothing Then
sComment = Target.Comment.Text
Else
sComment = ""
End If
End SubTen post został edytowany przez Autora dnia 21.08.13 o godzinie 14:03
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: Referencja do komentarza

Skąd program wie, że komentarz danej komórki się zmienił ?
Mateusz Kiryła

Mateusz Kiryła Student, UŁ

Temat: Referencja do komentarza

Porównuje komentarz przed zaznaczeniem , z komentarzem po zaznaczeniu komórki.
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: Referencja do komentarza

Mateusz K.:
Porównuje komentarz przed zaznaczeniem , z komentarzem po zaznaczeniu komórki.
A jak przewidujesz, która komórka zostanie zaznaczona ?
Mateusz Kiryła

Mateusz Kiryła Student, UŁ

Temat: Referencja do komentarza

sprawdza każdą, która zostanie zaznaczona.Nie muszę niczego przewidywać.
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: Referencja do komentarza

Mateusz K.:
sprawdza każdą, która zostanie zaznaczona.Nie muszę niczego przewidywać.
Nie da się tak, ale ok.

Następna dyskusja:

Bez dodatkowego komentarza....




Wyślij zaproszenie do