Udostępnij za pośrednictwem

Błąd Micrsoft Visual Basic run-time error '1004' Metoda PasteSpecjal z klasy Range nie powiodła się

Anonimowe
2016-10-05T20:57:28+00:00

Witam, przerabiałam dzisiaj poniższy film (dot. excela 2013):

https://www.youtube.com/watch?v=dD8z333NpqE

niestety pojawił mi się błąd tak jak opisał:

Paweł Rosołowski tj.

„Przerabiając tą lekcję w przykładzie nr 2 pojawił się u mnie błąd przy uruchamianiu makra: run-time error'1004' Metoda pastespecial z klasy range nie powiodła się. Wszystko robione było kalka w kalkę zgodnie z lekcją. Podglądałem w kodzie i tam debuguje całość formuły. Problem znika jak zaznaczę konkretnie komórki rejestrując makro, ale to nie o to przecież chodzi w tym narzędziu. Jakieś sugestie gdzie może być przyczyna?”

Proszę o pomoc

Z góry bardzo dziękuję

Pozdrawiam

Microsoft 365 i Office | Excel | Do użytku domowego | Windows

Pytanie zablokowane. To pytanie zostało zmigrowane ze społeczności pomocy technicznej firmy Microsoft. Możesz zagłosować, czy pytanie jest pomocne, ale nie możesz dodawać komentarzy ani odpowiedzi, ani też śledzić pytania.

Komentarze: 0 Brak komentarzy

Odpowiedzi: 11

Sortuj według: Najbardziej pomocne
  1. Oskar Shon 49,331 Punkty reputacji Moderator wolontariuszy
    2016-10-07T13:04:17+00:00

    a nie chodziło mi o to,

    A o co?

    "albo zrezygnujecie z poniższej linijki, ponieważ jej wywołanie usuwa dane z pamięci, przez co następne wklejanie nie jest możliwe"

    Application.CutCopyMode = False

    1 osoba uznała tę odpowiedź za pomocną.
    Komentarze: 0 Brak komentarzy
  2. Anonimowe
    2016-10-07T11:55:31+00:00

    Nikt Panu nie kazał oglądać całego filmu

    Mowa była tylko o przykładzie nr 2 zaczyna się on w przedziale 7:10 a kończy 9:36 więc trwa niecałe 3 min. ale OK

    proszę opisać dokładnie krok po kroku co mam robić i zakończymy ten  i tak o wiele za długi temat

    Poniżej opisuję jakie były wykonywane czynności krok po kroku:

    W analizowanym przykładzie dane z 4 poziomych tabel należało zgromadzić w 1 pionowej tabeli. Ponieważ dość często i dla różnych tabel wykonujemy takie operacje łatwiej będzie utworzyć makro, którym będziemy się mogli posługiwać.

    "Ponieważ nasze makro ma tylko wklejać dane jako wartości z wykorzystaniem opcji transpozycja, przed rozpoczęciem nagrywania makra wykonano następujące czynności:

    1. Zaznaczono obszar C19:N19 i skopiowano je (Ctrl+C)
    2. Jako aktywną komórkę wybrano C3

    Dopiero po tych czynnościach kliknięto polecenie ‘Zarejestruj makro’.

    Klikamy komórkę C3 prawym klawiszem, wybieramy polecenie ‘Wklej specjalne…’ i w oknie ‘Wklejanie specjalne’ zaznaczamy ‘Wartości’ i ‘Transpozycja’.

    Bezpośrednio po kliknięciu OK zatrzymujemy rejestrowanie makra.

    Sprawdzamy jego działanie dla pozostałych danych, zaznaczając obszary, kopiując i ustawiając aktywną komórkę w E3.

    Makro powinno być na tyle uniwersalne że powinno działać dla dowolnego obszaru również złożonego z kilku zakresów."

    Nie wiem tylko jak mam wprowadzić Range aby wklejał zaznaczony przeze mnie obszar.

    Jak nie ma Pan czasu na opisywanie krok po kroku jak należy nagrać powyższe makro aby działało to proszę przesłać chociaż gotowy kod.

    1 osoba uznała tę odpowiedź za pomocną.
    Komentarze: 0 Brak komentarzy
  3. Anonimowe
    2016-10-06T14:27:19+00:00

    Wykonywał Pan krok po kroku te czynności które są w filmie (przykład nr 2)?

    Jeżeli tak, to wyskoczył Panu ten sam błąd, czy też nie?

    Jeżeli nie to jak go Pan ominął?

    1 osoba uznała tę odpowiedź za pomocną.
    Komentarze: 0 Brak komentarzy
  4. Oskar Shon 49,331 Punkty reputacji Moderator wolontariuszy
    2016-10-07T09:07:52+00:00

    Nie jestem autorem tego filmu i nie będę komentował jego poprawność. Proszę zwrócić się do jego autora.

    Natomiast oglądam kod jaki został pow. przestawiony, (dość proste 2 instrukcje z nagrywania) i na jego podstawie wysuwam wnioski. Proszę wziąć z nich przykład i się zastosować do podanych instrukcji, w tedy błąd nie wystąpi.

    Dosłownie tłumacząc to co wkleiłaś/nagrałaś:

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks*:=False, Transpose:=True*

    Application.CutCopyMode = False

    Na polski:

    W_zaznaczony_obszar.wklej_specjalnie Wklej:=wartości, Operacje:=brak, PomińPuste*:=nie, Transponuj:=Tak*            

    Wskaż_obszar_wklejania = Nie

    Komentarze: 0 Brak komentarzy
  5. Anonimowe
    2016-10-06T08:47:03+00:00

    Film jest po to aby pokazywał jakie czynności były wykonywane po kolei (nie był tu pisany kod, tylko posłużono się opcją Zarejestruj makro)

    Kod nagranego makra wygląd tak:

    Sub war_transpozycja()

    '

    ' war_transpozycja Makro

    '

    '

        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

            :=False, Transpose:=True

        Application.CutCopyMode = False

    End Sub

    Nagrane makro zostało uruchomione przez wybranie z karty: ‘DEWELOPER’ polecenia ‘Makra’,

    wówczas wtedy pojawia się komunikat o błędzie '1004' o którym mowa powyżej.

    Stąd moje pytanie czym jest spowodowane wyświetlanie ww. błędu przy rejestracji makra?

    Komentarze: 0 Brak komentarzy