[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ファイル名の連番』(教えてください)
ファイル名の先頭に「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
ありがとうございます!うまくいきました。
(教えてください) 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.