Dzień dobry !
Mam pewien problem z kodem, którego celem jest odczytywanie wartości temperatur z dwóch/trzech/czterech termopar w komorze termicznej w określonym zakresie. Zebrane dane ustawiane są w kolumnach, przeciętna ilość wierszy po całym cyklu zbierania danych to około 13 tysięcy.
W czasie ustawienia pomiaru detektory zczytują wartości wewnątrz komory, co pozwala na porównanie ich z tym co ustawiono na programatorze - zabieg ten prowadzony jest w celu kalibracji urządzenia. Zakres pracy mieści się pomiędzy (-35) a 85 stopni Celsjusza. Piec nastawia się po zaprogramowaniu, na 12godzinne odcinki z daną temperaturą - w moim przypadku 12h (-35), 12h (-20), 12h 60 i 12h 85.
Makro, które stworzyłem ma na celu wybieranie interesującego mnie zakresu, tak by pominąć temperatury przejściowe np. (-30 czy 71), zaciąganie go do pamięci, tworzenie z niego wykresu. Następnie makro zbiera dane z serii z wykresu i przerzuca do zeszytu "DataChart". Makro działa perfekcyjnie dla małych zakresów np. -38,2 do -38,6. W przypadku poszerzenia zakresu wyskakuje mi błąd "Series formula is too long". Prawodpodobnie dzieje się tak, gdyż makro dobiera do wykresu komórki (w tej części makra pojawia się podświetlenie w debugerze) pojedynczo np. E1 E2 E3 E4 E5...Bn nie rozróżniając tego, że podobne wartości są w nastepnej komórce i można zamiast zbierania ich pojedynczo zapisać je jako zakres E1:Bn. Z tego co wiem zapis formuły "z palca" pozwala na zamieszczenie 8196 znaków, natomiast vba umozliwa chyba tylko formułę zapełniać 255 znakami.
I teraz moje pytanie: Czy jest jakiś sposób poszerzenia zakresu w kodzie VBA do tego by makro korzystało z zapisu formuły "z palca"? Czy jest jakis sposób na to by wymusić IF jeżeli szukane wartości są jedna pod drugą THEN utwórz zakres zamiast zbierać je pojedynczo?
Poniżej zamieszczam kod:
Mam pewien problem z kodem, którego celem jest odczytywanie wartości temperatur z dwóch/trzech/czterech termopar w komorze termicznej w określonym zakresie. Zebrane dane ustawiane są w kolumnach, przeciętna ilość wierszy po całym cyklu zbierania danych to około 13 tysięcy.
W czasie ustawienia pomiaru detektory zczytują wartości wewnątrz komory, co pozwala na porównanie ich z tym co ustawiono na programatorze - zabieg ten prowadzony jest w celu kalibracji urządzenia. Zakres pracy mieści się pomiędzy (-35) a 85 stopni Celsjusza. Piec nastawia się po zaprogramowaniu, na 12godzinne odcinki z daną temperaturą - w moim przypadku 12h (-35), 12h (-20), 12h 60 i 12h 85.
Makro, które stworzyłem ma na celu wybieranie interesującego mnie zakresu, tak by pominąć temperatury przejściowe np. (-30 czy 71), zaciąganie go do pamięci, tworzenie z niego wykresu. Następnie makro zbiera dane z serii z wykresu i przerzuca do zeszytu "DataChart". Makro działa perfekcyjnie dla małych zakresów np. -38,2 do -38,6. W przypadku poszerzenia zakresu wyskakuje mi błąd "Series formula is too long". Prawodpodobnie dzieje się tak, gdyż makro dobiera do wykresu komórki (w tej części makra pojawia się podświetlenie w debugerze) pojedynczo np. E1 E2 E3 E4 E5...Bn nie rozróżniając tego, że podobne wartości są w nastepnej komórce i można zamiast zbierania ich pojedynczo zapisać je jako zakres E1:Bn. Z tego co wiem zapis formuły "z palca" pozwala na zamieszczenie 8196 znaków, natomiast vba umozliwa chyba tylko formułę zapełniać 255 znakami.
I teraz moje pytanie: Czy jest jakiś sposób poszerzenia zakresu w kodzie VBA do tego by makro korzystało z zapisu formuły "z palca"? Czy jest jakis sposób na to by wymusić IF jeżeli szukane wartości są jedna pod drugą THEN utwórz zakres zamiast zbierać je pojedynczo?
Poniżej zamieszczam kod:
Kod: VBScript