どうも、star officeだと、簡単に関数一つで終わり!なんですけれど、microsoft excelだといちいち大変です。
とか言いつつも、便利な関数があるんでしょうけれどね…。
シートを分けて連続した書類を管理している場合に、ページ番号を振る必要が当然あったりしますが、シートを移動したり、いろいろといじる中で、どんどんページ番号が入れ替わったりします。
それで、いつでも最新の状態のページ番号を振りたい訳で、ある仕事をしているときに、面倒だったのでマクロを作りました。
数字を記載しているのは、以下の部分です。
Worksheets(intSheetCnt).Select 'シートを指定
ActiveSheet.Range("BK2:BL3").Select '数字をいれるセルを指定
ActiveCell.FormulaR1C1 = intSheetCnt '数字をいれる
それ以外は、そこに進むまで必要となるものです。適当に読んでください。
Sub setpageNum()
Dim intSheetCnt As Integer
Dim intForCnt As Integer
Dim intAscii As Integer
'シート数の初期値
intSheetCnt = 2
intAscii = Asc("b") - 2
Do Until Worksheets.Count < intSheetCnt
intForCnt = 0
intAscii = intAscii + 2
If Worksheets.Count < intSheetCnt Then
Exit Sub
End If
Worksheets(intSheetCnt).Select
ActiveSheet.Range("BK2:BL3").Select
ActiveCell.FormulaR1C1 = intSheetCnt
intSheetCnt = intSheetCnt + 1
If Worksheets.Count < intSheetCnt Then
Exit Do
End If
Loop
Worksheets(1).Select
End Sub
コメント
これだけで動くはずです。
Sub setpageNum()
Dim intSheetCnt As Integer
Worksheets(1).Select
‘シート番号の初期値
intSheetCnt = 1
Do While Worksheets.Count >= intSheetCnt
Worksheets(intSheetCnt).Select
ActiveSheet.Range(“BK2:BL3”).Select
ActiveCell.FormulaR1C1 = intSheetCnt
intSheetCnt = intSheetCnt + 1
Loop
End Sub
いやこれで充分。
Sub setpageNum()
Dim intSheetCnt As Integer
‘シート番号の初期値
intSheetCnt = 1
Do While Worksheets.Count >= intSheetCnt
Worksheets(intSheetCnt).Range(“BK2:BL3″).Formula = intSheetCnt
intSheetCnt = intSheetCnt + 1
Loop
End Sub