Jak przekonwertować ciąg na liczbę całkowitą w vba (z przykładami)
Możesz użyć funkcji CInt w VBA, aby przekonwertować ciąg tekstowy na liczbę całkowitą.
Oto dwa popularne sposoby wykorzystania tej funkcji w praktyce:
Metoda 1: Konwertuj ciąg na liczbę całkowitą w VBA
Sub ConvertStringToInteger() Dim i As Integer For i = 2 To 11 Range(" B " & i) = CInt(Range(" A " & i)) Next i End Sub
To konkretne makro przekonwertuje każdy ciąg z zakresu A2:A11 na liczbę całkowitą i wyświetli liczby całkowite z zakresu B2:B11 .
Metoda 2: Konwertuj ciąg na liczbę całkowitą w VBA (tylko jeśli ciąg jest liczbą)
Sub ConvertStringToInteger()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CInt(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
To konkretne makro skonwertuje każdy ciąg z zakresu A2:A11 na liczbę całkowitą tylko wtedy, gdy ciąg jest liczbą. W przeciwnym razie ciąg zostanie przekonwertowany na wartość null.
Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.
Przykład 1: Konwertuj ciąg na liczbę całkowitą w VBA
Załóżmy, że mamy w Excelu następującą kolumnę wartości, obecnie sformatowaną jako ciągi tekstowe:
Załóżmy, że chcemy przekonwertować każdy ciąg na liczbę całkowitą i wyświetlić liczby całkowite w kolumnie B.
W tym celu możemy utworzyć następujące makro:
Sub ConvertStringToInteger() Dim i As Integer For i = 2 To 11 Range(" B " & i) = CInt(Range(" A " & i)) Next i End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Należy pamiętać, że każdy ciąg tekstowy w kolumnie A został przekonwertowany na liczbę całkowitą i jest wyświetlany w kolumnie B.
Przykład 2: Konwertuj ciąg na liczbę całkowitą w VBA (tylko jeśli ciąg jest liczbą)
Załóżmy, że mamy w Excelu następującą kolumnę wartości, obecnie sformatowaną jako ciągi tekstowe:
Załóżmy, że chcemy przekonwertować każdy ciąg na liczbę całkowitą tylko wtedy, gdy ciąg jest liczbą i wyświetlić liczby całkowite w kolumnie B.
W tym celu możemy utworzyć następujące makro:
Sub ConvertStringToInteger()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CInt(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Należy pamiętać, że tylko ciągi tekstowe w kolumnie A będące liczbami są konwertowane na liczby całkowite w kolumnie B.
W przeciwnym razie ciągi tekstowe są po prostu konwertowane na wartość null.
Uwaga : Pełną dokumentację funkcji VBA Cint znajdziesz tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak usunąć spacje z ciągu znaków
VBA: Jak liczyć wystąpienia znaków w ciągu
VBA: jak sprawdzić, czy ciąg zawiera inny ciąg