/ / pojawia się błąd przepełnienia, gdy użyłem funkcji "ActiveSheet.UsedRange.Rows.Count", aby znaleźć liczbę w Excelu VBA - excel, vba, excel-vba

błąd przepełnienia, gdy użyłem funkcji "ActiveSheet.UsedRange.Rows.Count", aby znaleźć liczbę w Excelu VBA - excel, vba, excel-vba

Otrzymuję błąd przepełnienia, gdy próbowałem użyć tej funkcji

ActiveSheet.UsedRange.Rows.Count

w VBA Excel

Odpowiedzi:

6 dla odpowiedzi № 1

Zakładam, że masz coś takiego:

Dim x as Integer

x = ActiveSheet.UsedRange.Rows.Count

Aby to naprawić, zmień go na:

Dim x as Long

x = ActiveSheet.UsedRange.Rows.Count

Lub

Dim x&

x = ActiveSheet.UsedRange.Rows.Count

Znak deklaracji typu ampersand (&) reprezentuje Long

Typy danych Integer i Long mogą jednocześnie działaćwartości dodatnie lub ujemne. Różnica między nimi to ich wielkość: zmienne całkowite mogą zawierać wartości od -32 768 do 32 767, natomiast zmienne długookresowe mogą wynosić od -2,147,483,648 do 2 147 483 647

Ponieważ arkusze programu Excel mogą mieć więcej niż 32 767 wierszy, nie można tego zrobić ZAWSZE dopasuj liczbę wierszy do liczby całkowitej i użyj wartości Long.


0 dla odpowiedzi nr 2

Czy zdefiniowałeś swoją zmienną jako liczbę całkowitą, a nie długą lub zmienną? Jeśli jest ich więcej niż 32256 lub coś w tym rodzaju, to jest zbyt duży, aby być liczbą całkowitą.