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

Excel - VBA SUMIFS 424 error

12 Sie 2019 20:38 90 2
  • Poziom 3  
    Cześć,

    Mam dwa pliki i chcę zastosować SUMIFS w VBA.
    Jednak mam dwa błędy 91 oraz 424

    Plik 1 z którego są pobierane dane: DanedoSumIFs.xls
    Plik 2 - tutaj sumuje, kolumnę C z pliku 1, dla każdego kodu z Plik2 z daną datą z Plik2.

    Mam dwa problemy w napisanym makrze:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Czemu muszę zrobić SET na wart?
    Co jest nie tak z moją funkcją SUmIFs?

    Nagrane makro działa, coś w rodzaju - wiadomo do dostosowania na zmieniający się obszar :
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    ALe takie działa długo przy dużej ilości danych.
  • Moderator Programowanie
    Dominik090 napisał:
    Czemu muszę zrobić SET na wart?
    Bo to zmienna obiektowa. Podobnie jak inne zmienne typu Excel.ObjectName, Np Worksheet, Workbook, etc

    Możesz oczywiście podstawić String, Np
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    2. Niepoprawnie deklarujesz:
    "Dim ok, ostk As Integer"
    Tylko "ostk" jest zadeklarowana jako Integer, "ok" to 16 bajtowy (liczba) Variant (domyślnie, gdy nie określono typu). Prawidłowo:
    Dim ok As Integer, ostk As Integer

    2b. Arkusze nowszych wersji Excel'a mają > 1mln wierszy. To poza Integer.
    Deklaruj jako Long. Masz wtedy pewność, że nie dostaniesz Err 6 (overflow)