programing

0으로 한 자리 숫자 채우기

powerit 2023. 7. 2. 21:02
반응형

0으로 한 자리 숫자 채우기

시트를 CSV 파일로 저장하기 위해 이런 루프가 있지만 처음 9장은 이름이 마음에 듭니다.sinani-01 ... sinani-09(답지 않은sinani-1 ... sinani-9. 연결하는 방법0 10보다 작은 숫자 앞에만?

Sub Adder()
    Dim animal As String
    Dim i As Integer
    For i = 1 To 120
        animal = "sinani-" & i
        Sheets(animal).SaveAs "E:\Data\CSV\" & animal & ".csv", xlCSV
    Next i
End Sub

VBA에는 다음이 있습니다.Format()숫자를 입력하는 데 사용할 수 있는 함수입니다.

animal = "sinani-" & Format$(i, "00")

이렇게 하면 한 자리 숫자가 다음과 같이 표시됩니다.0두 자리와 세 자리 숫자는 예상대로 계속 작동할 것입니다.

다섯 번째 줄에서는 다음과 같은 형식 기능을 사용합니다.

animal = "sinani-" & Format(i, "#00")

#선택적으로 숫자를 의미합니다(즉, 숫자가 많은 경우에만 존재함).i),0확실히 숫자를 의미하며, 이 경우 선행 0이 사용됩니다.i숫자가 부족합니다.

선행하는 일련의 0과 연결하고 필요한 만큼 오른쪽에서 숫자를 제거합니다.

animal = "sinani-" & Right("00" & i, 2)

'alternate for many leading zeroes (e.g. DUNS number)
animal = "sinani-" & Right(String(9, "0") & i, 9)

교체하다& i타고& IIF(i < 10,"0","") & i

편집 중:이 경우에도.Format보다 깨끗한 솔루션을 제공합니다.IIF,그IIFtrick은 출력을 조정하는 데 다른 용도가 있습니다.예를 들어, 만약 당신이 몇 개의 셀이 발견되었는지 사용자에게 알려주고 싶다면, 당신은 다음과 같은 것을 사용할 수 있습니다.

MsgBox n & "cell" & IIF(n <> 1,"s","") & " found"

복수 어미 대 단수 어미를 우아하게 처리하는 것

언급URL : https://stackoverflow.com/questions/31628535/pad-single-digit-numbers-with-a-zero

반응형