Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

VBA kopiowanie komorek excela do schowka UTKNĄŁEM:/co dalej?

elwis_85 01 Mar 2011 16:23 7645 5
  • #1
    elwis_85
    Level 9  
    witam :)
    Chciałbym napisać w Excelu w VBA funkcje, która kopiowałaby z ustalonego zakresu komórek tekst do pamięci (do schowka) po czym można by go było gdziekolwiek wkleić z zachowanie formatu i stylu tekstu, dat, godzin itd.

    Najlepiej zobrazuje to zdjęcie poniżej i pliki z załącznika.

    VBA kopiowanie komorek excela do schowka UTKNĄŁEM:/co dalej?

    Efekt ten realizowany jest przez kopiowanie zawartości komórki, dodanie do tekstu spacji w tym samym formacie (czyli np z podkreśleniem) itd.
    Gdy jest jakiś pusty wiersz w tekście w schowku jest również linijka przerwy.
    Po skopiowaniu całego tekstu do schowka chciałbym aby była możliwość wklejenia tekstu np do Worda przy użyciu funkcji "wklej".
    I na koniec zasadnicze pytanie... jak się do tego zabrać, nie wiem od czego zacząć. Nie mam zielonego pojęcia jak się odwołać do schowka.
    Za każdą sugestie będę wdzięczny :)
    Pozdrawiam
  • #2
    elwis_85
    Level 9  
    Po kilkudniowych męczarniach wpadłem na pewien pomysł z wykorzystaniem szablonu "makememos" z książki "Excel 2003 Programowanie w VBA Vademecum profesjonalisty".
    Sens jest taki że program ma tworzyć plik w wordzie gdzie kopiuje tekst z komórek , potem zaznacza cały tekst w wordzie i go kopiuje :).

    Jest jeszcze kilka nierozwiązanych kwestii i prosiłbym o pomoc bo ręce mi już opadają.

    1. nie wiem jaka formuła zaznacza dany wiersz w wordzie, chciałbym aby po wklejeniu tekstu z komórki zaznaczał sie wiersz i zmieniał sie format tekstu na odpowiedni (podkreślenie, pogrubiona czcionka itd)

    2. nie wiem jaka komenda powoduje zaznaczenie całego tekstu w wordzie, muszę wszytko zaznaczyć żeby to skopiować do schowka

    mój obecny programi wyglada tak :
    Code: vb
    Log in, to see the code


    poniżej załącznik z plikiem excela
    Proszę Was o pomoc bo stanąłem w martwym punkcie
    Pozdrawiam
  • Helpful post
    #3
    marcinj12
    Level 40  
    Może wykorzystaj wklejanie przez schowek?
    Coś w s tylu:
    Code: vb
    Log in, to see the code
  • #4
    elwis_85
    Level 9  
    Dziękuję za odzew ;)
    z przykrością muszę stwierdzić że nie do konca o to chodziło, zależy mi na NIE kopiowaniu całej tabeli tylko samego tekstu.

    Warto zauważyć ze w exccelu (patrz zdjęcie) w całym wierszu czcionka jest tak samo sformatowana (podkreślenie lub pogrubienie).
    Mój dotychczasowy program ma pętelki które powodują przejścia przez wszystkie komórki w jakimś tam zakresie.

    (istotne dywagacje pomiędzy liniami w poniższym kodzie)
    Code: vb
    Log in, to see the code


    poniższe zdjęcie dokładnie przedstawia co chce osiągnąć
    VBA kopiowanie komorek excela do schowka UTKNĄŁEM:/co dalej?
    Pozdrawiam:)
  • Helpful post
    #5
    marcinj12
    Level 40  
    Za dużo kombinujesz ;)
    Wszystko można zmieścić w takim oto kodzie, komentarze - bez zbędnych dywagacji - w kodzie :) Mam nadzieję że zasadza działania jest jasna? W zasadzie to tylko pętla po wierszach i kolumnach + parę if'ów tłumaczących format excela na worda.
    "Sekret mnicha" tkwi w tym, żeby ustawić format paragrafu w Wordzie przed wypisaniem tekstu, wypisać tekst i wyczyścić format - podobnie można ustawić dowolny parametr, kolor tekstu, komórki etc. - odczytujesz go z excela i przekładasz na format paragrafu wordzie.

    Code: vb
    Log in, to see the code
  • #6
    elwis_85
    Level 9  
    Trochę czasu zajmuje mi przeanalizowanie zmyślnych kodów. Prawda jest taka ze jestem laikiem który rzuca się na głęboką wodę. Analizuje niemal każda z formuł i staram się ja zastosować je w praktyce tak żeby się tego nauczyć. Nie pierwszy raz mi pomagasz za co bardzo Ci dziękuje. Materiał z tego zakresu uznaje za przyswojony ;). O wielu formułach które wykorzystujesz nigdy nie słyszałem i jak je poznaje to widzę różne fajne zastosowania ich. Nawet się nie przyznaje czego nie znałem z Twojego kodu w każdym bądź razie czuje się teraz bogatszy w wiedzę.

    Jeszcze raz bardzo Ci dziękuję :)