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

VBA Excel 2013 - Różnice pomiędzy VBA Excel 2007 i 2010 albo 2013

24 Gru 2015 14:47 1920 3
  • Poziom 9  
    Witam.
    Wczoraj zainstalowałem Excela 2013 i zauważyłem że makra działające w mojej poprzedniej wersji 2007, nie działają.

    Pytanie: Czy istnieją jakieś różnice między tymi wersjami w VBA, a jeśli tak to jakie. Na co powinienem zwrócić uwagę. Co się zmieniło.

    Np.

    lok = Worksheets("Calculator").Range("B65536").End(xlUp).Row

    Worksheets("Calculator").Range("A6:M" & lok + 40).Delete Shift:=xlUp

    lok5 = Worksheets("CADInc").Range("B65536").End(xlUp).Row

    Worksheets("CADInc").Range("A1:M" & lok5).Delete Shift:=xlUp


    Program zaznaczył mi że wystąpił błąd w lok5

    W momencie uruchomienia makra Arkusz Calculator jest aktywny a CADInc ukryty. Dotychczas funkcjonowało to bez problemu...czy coś się zmieniło?

    Dziękuję za pomoc
    Darek
  • Poziom 9  
    Zauważyłem błąd ...zmienna lok5 nie została wcześniej zadeklarowana.

    Znam korzyści z deklarowania zmiennych i zazwyczaj to robię ale dotychczas vba w excelu 2007 wybaczał mi takie błędy ...czy coś się w tej materii zmieniło? Czy deklarowanie zmiennych w excelu 2010 i 2013 jest konieczne?
  • Pomocny post
    Specjalista - VBA, Excel
    Byc moze w edytorze VBA awtomatem 'Option Explicit' - wtedy deklarowanie zmiennych jest konieczne.
    VBA Excel 2013 - Różnice pomiędzy VBA Excel 2007 i 2010 albo 2013
  • Poziom 9  
    Opcja ta nie jest włączona. Odkryłem natomiast coś ciekawego.

    Kiedy otwieram dokument utworzony w Excelu 2007 to przy uruchomieniu makro pojawiają się wyżej opisane błędy. Kiedy natomiast utworzę nowy dokument w Excelu 2010, utworzę nowe makro i wpiszę lub wkopiuję tę samą treść makra co w poprzedniej wersji ...wtedy Excel działa poprawnie i nie wyskakują żadne błędy.

    Oba pliki maja rozszerzenie xlsm.

    Dodano po 1 [godziny] 41 [minuty]:

    Chyba znalazłem problem i rozwiązanie. W References program nie mógł odnaleźć Microsoft Calender Control. Ściągnąłem plik MSCAL.OCX, poprawiłem ścieżkę i wszystko działa.

    Dziękuję i pozdrawiam.
    Darek