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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *