[[20190807171046]] 『ファイル名の連番』(教えてください) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ファイル名の連番』(教えてください)

ファイル名の先頭に「00.」という番号を連番でつけていきたいと思っています。
現状、1. 2. 3. ・・・と連番を付けることは成功したのですが、一桁の場合は01. 02. 03. ・・・と0始まりにしたいです。
一桁なら01. 02. 03. ・・・二桁なら11. 12. 13. ・・・ 三桁なら101. 102. 103. ・・・という感じです。
どのように書き換えたらよいでしょうか?教えてください。

シート1のA5〜下にファイル名を貼り付けており、下記のVBAでB5〜下に番号をつけたファイル名を書き出します。
シート2のA2〜にファイル名の順番を入れていて、その順番通りに1. 2. 3. ・・・と番号を付けていってます。

    Dim lrow As Long: lrow = 5
    Dim renban As Long: renban = 0
    Dim sh As Worksheet
    Dim i As Long
    Dim n As Integer

    Set sh = ThisWorkbook.Sheets(2)

    For i = 2 To sh.Cells(Rows.Count, 1).End(xlUp).Row
        Do
            If Cells(lrow, 1) <> "" Then
                If InStr(1, Cells(lrow, 1), sh.Cells(i, 1)) > 0 Then

                    renban = renban + 1
                    If Cells(lrow, 2) <> "" Then
                        n = InStr(Cells(lrow, 2), sh.Cells(i, 1))
                        Cells(lrow, 2) = Left(Cells(lrow, 2), n - 1) & renban & "." & Mid(Cells(lrow, 2), n)
                    Else
                        n = InStr(Cells(lrow, 1), sh.Cells(i, 1))
                        Cells(lrow, 2) = Left(Cells(lrow, 1), n - 1) & renban & "." & Mid(Cells(lrow, 1), n)
                    End If
                Else
                    'Cells(lrow, 2) = ""
                End If
            Else

                lrow = 5
                Exit Do
            End If
            lrow = lrow + 1
        Loop
    Next

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 Format関数を使うといいと思います。

https://www.tipsfound.com/vba/05format

 Fromat(1,"00")
 ↓
 01

 Fromat(1,"000")
 ↓
 001

 で、Ifなどで条件分岐させます。
(OK) 2019/08/07(水) 17:32

 スペルミスがありました

 × Fromat

 ◯ Format
(OK) 2019/08/07(水) 17:36

OKさん

ありがとうございます!うまくいきました。
(教えてください) 2019/08/07(水) 17:39


 よく考えたら、
 Format(1,"000")の条件分岐は不要でした。

 Format(1,"00")

 で、
 0〜9は00,01,02・・・・09
 11~99は11,12,・・・99
 101、102はそのまま101,102
 となります。
(OK) 2019/08/07(水) 17:47

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.