Εξαγωγή αριθμού από συμβολοσειρά - Παραδείγματα κώδικα VBA

Απόσπασμα αριθμητικής μερίδας συμβολοσειράς

Η ακόλουθη συνάρτηση θα εξαγάγει το αριθμητικό τμήμα από μια συμβολοσειρά:

Λειτουργία Extract_Number_from_Text (Phrase As String) As Double Dim Length_of_String As Integer Dim Current_Pos As Integer Dim Temp As String Length_of_String = Len (Phrase) Temp = "" For Current_Pos = 1 To Length_of_String If (Mid (Phrase, Current_Pos) ") Στη συνέχεια Temp = Temp & Mid (Φράση, Current_Pos, 1) Τέλος Αν (Mid (Φράση, Current_Pos, 1) =". ") Στη συνέχεια Temp = Temp & Mid (Φράση, Current_Pos, 1) Τέλος If If (IsNumeric (Mid (Phrase, Current_Pos, 1))) = True Στη συνέχεια Temp = Temp & Mid (Phrase, Current_Pos, 1) End If Next Current_Pos If Len (Temp) = 0 Στη συνέχεια Extract_Number_from_Text = 0 Άλλο Extract_Number_from_Text = CDbl (Temp) Τέλος Αν Λειτουργία Τέλους

Έτσι για παράδειγμα:

Το Extract_Number_from_Text ("uuigguo 995") θα επιστρέψει 995
Extract_Number_from_Text ("uuigguo 0.12995") θα επιστρέψει 0.12995
Extract_Number_from_Text ("yu00.000456") θα επιστρέψει 0.000456
= Extract_Number_from_Text ("juii -0009.9987iihiii") θα επιστρέψει -0.9987
Εάν δεν υπάρχει αριθμός στη φράση τότε επιστρέφεται ένα μηδέν.

Για λήψη του αρχείου .XLSM από αυτό το άρθρο, κάντε κλικ εδώ.

wave wave wave wave wave