vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest sobota, 18 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Jak sprawdzić, czy komórka posiada komentarz


otwartyotwarty rozpoczął: Anna postów: 3



napisał: Anna
postów: 2


umieszczony:
9 czerwca 2009
14:47

  
Dziękuję pięknie!
Również za podpowiedź jak używać zmiennych range :)
napisał: Rycho
postów: 291


umieszczony:
8 czerwca 2009
18:18

  
Hej,
kod bez formatowania przetwarzanych komentarzy:
Sub OpracujKomentarze()
  Dim w As Long, wMax As Long
  Dim rgB As Range, rgA As Range

  With ActiveSheet.UsedRange
    wMax = .Row + .Rows.Count
  End With

  For w = 1 To wMax

    Set rgB = Cells(w, "B")

    'jeżeli nie jest prawdą, że obiekt 'komentarz' nie istnieje
    'czyli jeśli jest komentarz
    If Not rgB.Comment Is Nothing Then

      Set rgA = Cells(w, "A")

      If rgA.Comment Is Nothing Then
        'wstaw komentarz
        rgA.AddComment rgB.Comment.Text

      Else
        'dodaj komentarze
        rgA.Comment.Text rgA.Comment.Text & Chr(10) & _
                         rgB.Comment.Text
      End If

      'ustaw automatyczny rozmiar komentarza
      rgA.Comment.Shape.TextFrame.AutoSize = True

      'usuń komentarz
      rgB.ClearComments
      
    End If

  Next w

End Sub

napisał: Anna
postów: 2


umieszczony:
8 czerwca 2009
14:43

edytowany:
8 czerwca 2009
14:52

  
Witam,
Odświeżając wielce skromną wiedzę nt. VBA zdobytą wieki temu staram się napisać makro, które automatycznie przenosiłoby komentarze i wartości z komórek jednej kolumny, do kolumny sąsiedniej. Interesujący mnie obszar ma niemal 4500 wierszy i 2 kolumny (załóżmy A i B), a komentarze nie występują w każdej z komórek. Możliwe kombinacje to:
- komórki Ai i Bi posiadają komentarz - chcę "dokleić" do komentarza w A komentarz z B (edytować A) i usunąć z B
- komórka Ai nie posiada komentarza, komórka Bi posiada - chcę utworzyć nowy komentarz w A i skopiować do niego zawartość B, usunąć B
- B nie posiada komentarza - Next i
Zaplanowałam pętlę sprawdzającą kolejne komórki w kolumnie B. Gdy znajdzie komórkę z komentarzem, sprawdzi czy w tym samym wierszu w kolumnie A występuje komentarz i w zależności od tego go edytuje lub utworzy nowy.

Kłopot mam niestety zasadniczy. W jaki sposób wpisać warunek If ... Then, żeby sprawdzić to o co mi chodzi? Kombinowałam z ActiveCell.Comment na wszelkie sposoby jakie mi przyszły do głowy, nic nie chce działać.
Pozostałe linijki, pewnie nie najsprytniej, ale napisałam i działają (sprawdzałam kolorując część komórek i jako warunek wpisując kolor tła). Tylko z tą jedną bardzo proszę o pomoc.

Pozdrawiam
Anna


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z