Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do pliku na dysku, która nie istnieje.
Najlepszym zabezpieczeniem kodu przed tym błędem jest tu po prostu wcześniejsze sprawdzenie, czy plik istnieje.
Przykładowy kod może wyglądać tak:
Public Function CzyPlik(Jaki_Adres as String) If Dir(Jaki_Adres) = “” Then
CzyPlik=False
Else
CzyPlik=True End If` End Sub
Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do ścieżki na dysku, która nie istnieje.
Najlepszym zabezpieczeniem kodu przed tym błędem jest tu po prostu wcześniejsze sprawdzenie, czy ścieżka istnieje.
Przykładowy kod może wyglądać tak:
Public Function CzyKatalog(Jaki_Adres as string) If Dir(Jaki_Adres, vbDirectory) = “” Then
CzyKatalog=False
Else
CzyKatalog=True End If` End Sub
Bardzo często analizując jakiś plik Excela będący na przykład zrzutem z jakiegoś systemu możemy zauważyć, że nie zawsze wartości wyglądające jak liczby, rzeczywiście nimi są. Może się zdarzyć, że jest to po prostu tekst. Z reguły Excel automatycznie wstawia w takich komórkach komentarz:
Na pewno trzeba coś z tym zrobić, gdyż na takich komórkach zawodzą wszelkie działania matematyczne i nie da się zrobić większości analiz czy podsumowań. Warto tu zauważyć, że wszystkie takie przypadki wyróżniają się w jeden charakterystyczny sposób, widoczny na pierwszy rzut oka. Jeżeli nie zastosujemy dodatkowego formatowania – wartości będące liczbami są wyrównane do prawej, tekst – do lewej.
Co można z tym zrobić? Oczywiście można poklikać w każdej komórce i zamienić tekst na liczbę, ale dla większej ilości danych jest to na pewno żmudna, pracochłonna i nieopłacalna praca.
Ja w takich przypadkach najczęściej robię tak:
tworzę dodatkową kolumnę , gdzieś poza zakresem danych i tam wstawiam formułę iloczynu tej wartości tekstowej
i liczby 1.
kliknij, aby powiększyć
przeciągam dane wzdłuż kolumny
kopiuję dane w tej dodatkowej kolumnie i wklejam je jako wartości do pierwotnej kolumny.
I już, gotowe.
Zwracam jednak uwagę na jeden problem. Jeżeli jako tekst jest zapisana bardzo duża liczba – po konwersji na liczbę, automatycznie zmieni się jej zapis na naukowy i nieco ją zaokrągla. Nawet zmiana na formatowanie liczbowe (np.z separatorem tysięcznym) powoduje, że otrzymana wartość różni się od pierwowzoru. Jeżeli taki tekst liczby jest np. numerem przesyłki i trzeba go porównać z jakimś innym wykazem – bezpieczniej jest zrobić to jednak na wartościach tekstowych, bez konwersji.
Plik csv jest bardzo często spotykanym formatem zapisywania danych, szczególnie w przypadkach danych pobieranych z różnego rodzaju baz danych. Zwyczajowo jest otwierany w Excelu, ale nie można zapominać o tym, że nie jest to plik Excela tylko plik tekstowy rozdzielany przecinkami. Oznacza to, że nie powinniśmy otwierać plików csv tylko importować go jako plik tekstowy. Pozwala to także na uniknięcie różnych problemów z formatowaniem liczb, generującymi w efekcie błędy w analizach.
Po rozpakowaniu i zapisaniu na dysku, otwieramy Excela i w nowym skoroszycie na karcie Dane wybieramy Z tekstu
Dla nowszych wersji Excela:
Automatycznie otworzy się kreator importu tekstu
Ustawiamy tu formatowanie (najlepiej na UTF-8), żeby prawidłowo wyświetlać polskie litery.
W kolejnym kroku zaznaczamy średnik jako znak podziału
W ostatnim kroku kreatora możemy jeszcze zdefiniować typ danych w kolejnych kolumnach – czy ma być to tekst czy liczba i ewentualnie – jakie formatowanie.
I już – plik tekstowy csv został zaimportowany do Excela.
Operacja odwrotna tj. eksport z Excela do pliku csv to po prostu zapisanie pliku Excela jako pliku csv:
Nie można tu jednak zapominać, że tak zapisany zostanie tylko jeden aktywny arkusz. Poza tym nie zostanie zachowane obramowanie, kolor czy wielkość czcionki itp.