Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA Excel - Kopiowanie wartości komórki do komentarza

noreczq 17 Cze 2015 12:36 1341 12
  • #1 17 Cze 2015 12:36
    noreczq
    Poziom 9  

    Witam,
    Potrzebuję funkcję w excelu, która kopiuje wartości z danego zakresu danych, a następnie tworzy komentarz w innej komórce i wkleja owe wartości do tej komórki.
    W internecie znalazłem taką funkcję:

    Cytat:
    Sub CellToComment()
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
    Rng.NoteText Text:=Rng.Value
    Next
    End Sub

    Funkcja ta każe mi wybierać zakres danych, a następnie do każdej komórki z wybranego zakresu tworzy komentarz (z wartością każdej komórki).
    Zakres danych mam podany (powiedzmy A1:A5 ) więc nie chcę go za każdym razem wybierać. Natomiast jako komórkę docelową chcę ustawić powiedzmy A6.
    Czy jest ktoś tak dobry i przerobi dla mnie funkcję?
    Pozdrawiam :)

    1 12
  • Pomocny post
    #2 17 Cze 2015 14:40
    JRV
    Specjalista - VBA, Excel

    Witaj

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    2
  • #3 17 Cze 2015 18:35
    noreczq
    Poziom 9  

    Dzięki za odpowiedź.
    Nie do końca mi o to chodziło. Chciałbym żeby komentarz był przypisywany do konkretnej komórki np. A1000, a nie pod zaznaczonymi komórkami.
    Pozdrawiam

    1
  • Pomocny post
    #4 17 Cze 2015 18:50
    JRV
    Specjalista - VBA, Excel

    noreczq napisał:
    Zakres danych mam podany (powiedzmy A1:A5 )
    noreczq napisał:
    komórkę docelową chcę ustawić powiedzmy A6.

    To jest pod zaznaczonymi komórkami ;)
    Zmienic
    Code:

    WorkRng(1).Offset(WorkRng.Count).NoteText Text:=koment

    na
    Code:

    Range("A1000").NoteText Text:=koment

    1
  • #5 17 Cze 2015 19:21
    noreczq
    Poziom 9  

    Dzięki, już prawie działa. Zmieniłem na taki:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    Nie wiem dlaczego nie działa. Jeżeli wpiszę zakres ("K42:K63") wszystko działa...

    1
  • Pomocny post
    #6 17 Cze 2015 19:27
    JRV
    Specjalista - VBA, Excel

    może ograniczenia na długość komentarza

    P.S. A co jest w K64?

    1
  • #7 17 Cze 2015 20:13
    noreczq
    Poziom 9  

    Normalny tekst

    1
  • #8 17 Cze 2015 20:19
    JRV
    Specjalista - VBA, Excel

    Sprobuj
    zamiast

    Code:
    koment = koment & Rng.Value & vbLf

    to
    Code:
    koment = koment & Rng.Text & vbLf

    1
  • #9 17 Cze 2015 20:32
    noreczq
    Poziom 9  

    Wychodzi dokładnie to samo, tzn. przy odjęciu jednego wiersza działa, inaczej nie.

    Dzisiaj zmieniłem adresy komórek i o dziwo działa :D Dziwne, ale skuteczne :D
    Chciałbym jeszcze ażeby przy wpisywaniu komentarza excel pomijał puste komórki i wpisywał następną niepustą. Da radę?
    POZDRO I DZIĘKI! :)

    1
  • #10 18 Cze 2015 18:31
    JRV
    Specjalista - VBA, Excel

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    1
  • #11 18 Cze 2015 20:28
    noreczq
    Poziom 9  

    Witam, oto mój kod:

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    Poniższy wiersz jest podkreślony i wywala błąd "Run-time error '91': Object variable or With block variable not set"
    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    Proszę o pomoc. Jeszcze niedawno działało, zmieniłem zakres komórek i się sypie :(

    -1
  • #12 26 Cze 2015 13:21
    JRV
    Specjalista - VBA, Excel

    Działa. Być może kursor był nie w arkuszu, a w niektórych obiektów.

    Dodano po 6 [minuty]:

    Zazwyczaj Shape "uwielbia" mieć jego przede wybrane, a następnie zmień właściwości

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    0
  • #13 27 Cze 2015 14:46
    JRV
    Specjalista - VBA, Excel

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0