先日ご紹介した、エクセルで自動番号取得のファイルですが、
皆さんがお持ちの既に作られておられますエクセルファイルに
プログラムを入れることで、同じように自動連番機能をつかする
事が出来ます。

次の手順で行います。



1)自動連番機能をつけたいエクセルファイルを開く
2)メニューバーの【ツール】-【マクロ】-【Visual BASIC Editor】
を開きます。
3)エクセルのファイルとは別にプログラム編集の画面が表示されます。
4)その画面のメニュー画面の【挿入】-【標準モジュール】を選択します。
5)画面左にある「プロジェクト」画面内の【標準モジュール】の下にある
 「Module1」をダブルクリックします。
 ※表示されていない時は「標準モジュールをダブルクリックします。
6)画面右の白い部分に次をコピーして貼り付けします。



'---------- 下からコピー -----------------
Sub auto_open()
Dim getfile As String * 10

'■■■ 設定値変更 ■■■
ファイル名 = "c:\cuntdata.dat"
表示位置 = "J3"
'■■■■■■■■■■■■■



'ファイル読取
getfile = ""
If Dir(ファイル名) <> "" Then
fino = FreeFile
Open ファイル名 For Input As fino
Line Input #fino, getfile
get_no = Val(getfile)
Close fino
End If

'値プラス1
getfile = get_no + 1

'数保存
fino = FreeFile
Open ファイル名 For Binary As fino
Put fino, 1, getfile
Close fino
Range(表示位置) = Trim(getfile)

End Sub
'----------------上までコピー -----------------------

※上の「Sub auto_open()」から「End Sub」までをコピーして
 貼り付けます。



7)エクセルのファイルに戻り、上書き保存して完了です。




■内容の変更

プログラム中の  
ファイル名 = "c:\cuntdata.dat" 
のc:\cuntdata.datを変更すると、カウントされた数字が保存場所を変更できます。


また、
表示位置 = "J3"
のJ3を変更する事で、好きなセルの場所に変更できます。


ちなみに、最後に保存されたシートに対して次回開いた時書き込みますので、
違うシートを表示させたまま保存すると次回思わぬ場所に数字が表示されます。
お気をつけて!


Range(表示位置) = Trim(getfile)

Sheets("Sheet1").Range(表示位置) = Trim(getfile)

に変更して、Sheet1の部分をシート名にすると、

ソノシートの特定のセルに表示されます。


ちなみに、昨日ご紹介した元になるファイルは

こちらからダウンロードできます
のページの下部「仕事に役立つエクセル表ファイル」
のなかから「ファイル番号21:エクセルで作る領収書(VBA)」
を選んでダウンロードしてください。