Spis treści
W programie Microsoft Excel praca z liczbami jest najbardziej powszechna.Czasami musimy przetworzyć zbiór danych z dużą ilością liczb.Ale, możesz znaleźć się w sytuacji, gdy twoje liczby wyglądają jak tekst.Z tego powodu, nie można dodać, odjąć, podzielić, pomnożyć lub wykonać dowolną operację.Zawsze pokazuje błąd, gdy próbujesz to zrobić.W tym poradniku, nauczymy cię, jak przekonwertowaćzamiana tekstu na liczbę w programie Excel przy użyciu VBA kody z odpowiednimi przykładami i właściwymi ilustracjami.
Pobierz Zeszyt ćwiczeń
Pobierz ten zeszyt ćwiczeń
Konwersja tekstu na liczby za pomocą VBA.xlsm
Jak rozpoznać liczby sformatowane jako tekst
Microsoft Excel jest na tyle inteligentny, że rozumie różnicę między tekstem a liczbą. Automatycznie konwertuje je do odpowiednich formatów. Ale czasami nie może tego zrobić z powodu pewnych nadużyć i błędnych interpretacji zbioru danych. Z tego powodu zachowuje te liczby jako teksty w twoim skoroszycie.
Spójrz na ten zbiór danych, tutaj mamy kilka liczb w kolumnie.
Mimo że w kolumnie mamy liczby, wszystkie są wyrównane do lewej strony, tak jak tekst. Teraz kliknij dowolną komórkę. Obok komórki znajdziesz to pole.
Teraz najedź kursorem myszy na to pole, po czym zobaczysz taki komunikat.
Pokazuje, że komórka jest sformatowana jako tekst. W ten sposób można mieć pewność, czy komórki są sformatowane jako tekst, czy nie.
3 Kody VBA do konwersji tekstu na liczbę w Excelu
Chociaż możesz łatwo konwertować tekst na liczby ręcznie, ten tutorial jest o konwersji tekstu na liczbę za pomocą kodów VBA. Zalecamy, abyś nauczył się i zastosował wszystkie te metody do swojego zbioru danych. Z pewnością przyda się to w wielu sytuacjach.
1. kod VBA z Range.NumberFormat Method do konwersji tekstu na liczbę w Excelu
Metoda ta jest dość prosta i łatwa do zastosowania na dowolnym zbiorze danych. Wszystko co musisz zrobić to wybrać zakres komórek i wstawić go do Kod VBA .
📌 Kroki
1. najpierw naciśnij ALT+F11 na klawiaturze, aby otworzyć Edytor VBA .
2. kliknij na Insert> Moduł .
3) Następnie wpisz następujący kod:
Sub ConvertTextToNumber() With Range("B5:B14") .NumberFormat = "General" .Value = .Value End With End Sub
4. zapisać plik.
5. następnie naciśnij ALT+F8 . It will open the Makro okno dialogowe.
6. wybierz ConvertTextToNumber i kliknij na Biegnij.
W końcu ten kod zamieni nasz tekst na liczby.
Czytaj więcej: Jak przekonwertować ciąg na liczbę w Excelu VBA
2. kod VBA z pętlą i CSng do konwersji tekstu na liczbę
W tej metodzie używamy Pętla oraz CSng funkcje. CSng Funkcja przyjmuje jako argument dowolny tekst i konwertuje go na pojedynczą liczbę. Nasza pętla przejdzie przez każdą komórkę wybranej kolumny. Następnie przekażemy wartość każdej komórki do CSng funkcja konwertująca go z tekstu na liczbę.
📌 Kroki
1. najpierw naciśnij ALT+F11 na klawiaturze, aby otworzyć Edytor VBA .
2. kliknij na Insert> Moduł .
3) Następnie wpisz następujący kod:
Sub ConvertUsingLoop() For Each r In Sheets("Loop&CSng").UsedRange.SpecialCells(xlCellTypeConstants) If IsNumeric(r) Then r.Value = CSng(r.Value) r.NumberFormat = "General" End If Next End Sub
4. zapisać plik.
5. następnie naciśnij ALT+F8 . It will open the Makro okno dialogowe.
6. wybierz ConvertUsingLoop i kliknij na Biegnij.
Jak widać, przekształciliśmy nasz tekst na liczby za pomocą tego kodu VBA.
Podobne lektury
- Masowa konwersja tekstu na liczbę w Excelu (6 sposobów)
- Jak przekonwertować ciąg na długi za pomocą VBA w Excelu (3 sposoby)
- Konwersja String na Double w Excelu VBA (5 metod)
- Jak naprawić błąd konwersji na liczbę w programie Excel (6 metod)
3) Konwersja tekstu na liczby dla dynamicznych zakresów w programie Excel
Poprzednie metody dotyczyły wybranych zakresów. Oznacza to, że musisz ręcznie wprowadzić zakres komórek do kodu. Czasami jednak Twój zbiór danych może być duży. W takich przypadkach musisz zapamiętać zakres komórek. Ta metoda rozwiąże ten problem. Wiemy, że nasz zbiór danych zaczyna się od Komórka B5 Ale nie wiemy, gdzie to się skończy.
Dynamicznie identyfikujemy więc ostatni użyty wiersz Excela, który ma w sobie dane, używając Cells(Rows.Count, "B").End(xlUp).Row
Zwraca on ostatni niepusty numer wiersza, który konkatenujemy z " B5:B ".
📌 Kroki
1. najpierw naciśnij ALT+F11 na klawiaturze, aby otworzyć Edytor VBA .
2. kliknij na Wkładka > Moduł .
3) Następnie wpisz następujący kod:
Sub ConvertDynamicRanges() With Range("B5:B" & Cells(Rows.Count, "B").End(xlUp).Row) .NumberFormat = "General" .Value = .Value End With End Sub
4. zapisać plik.
5. następnie naciśnij ALT+F8 . It will open the Makro okno dialogowe.
6. następnie wybierz ConvertDynamicRanges i kliknij na Biegnij.
Jak widać, z powodzeniem udaje nam się konwertować tekst na liczby za pomocą kodów VBA.
💬 Rzeczy do zapamiętania
✎ Tutaj używamy kolumny B dla naszego zbioru danych. Jeśli Twoje dane znajdują się w innej kolumnie, zmień odpowiednio zakres komórek w kodach VBA.
✎ Kody VBA będą działać tylko na aktywnym arkuszu.
Wniosek
Podsumowując, mam nadzieję, że ten tutorial dostarczył Ci kawałek przydatnej wiedzy na temat konwersji tekstu na liczbę w Excelu przy użyciu kodów VBA. Zalecamy, abyś poznał i zastosował wszystkie te instrukcje do swojego zbioru danych. Pobierz zeszyt ćwiczeń i wypróbuj je samodzielnie. Nie krępuj się również przekazać informacji zwrotnej w sekcji komentarzy. Twoje cenne opinie sprawiają, że mamy motywację do tworzenia tutoriali takich jak ten.Nie zapomnij sprawdzić naszej strony internetowej Exceldemy.com dla różnych problemów i rozwiązań związanych z programem Excel.