-PR-
解決済み

エクセルのワークシート(テンプレート)に自動連番を付けられますか

  • 困ってます
  • 質問No.82921
  • 閲覧数2395
  • ありがとう数9
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 100% (4/4)

エクセルのワークシート(テンプレート)に自動連番を付けられますか
今現在使用してますエクセルは「EXCEL2000」です
いつも登録しています自作のテンプレートの連番の位置に[No.000000]を毎回手入力で入れてまして関数か何かで登録できれば非常に助かるので、ご存知の方お手数ですが教えてください。宜しくお願いします
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

テンプレートを開くたびに既に使った連番+1が自動的に決められたセルに書き込まれるようにしたいということだと思いマクロを書いてみました。はずしていたら読み飛ばして下さい。
キー記録での方法はよく分かりませんので直接書いています。

まず、自動ではありませんが、例えばA1セルに[No.000000]を設定したい場合、
 A1:="[No."&RIGHT("00000"&B1,6)&"]"
としてB1に数値を入力する方法はどうでしょう?B1セルの色を白にするとか、セルの書式設定→表示形式のユーザー設定でスペース1つを設定しておけばB1は表示されません。個人的に使用するならB1を覚えておいて入力すればいい?次はむりやり自動的に表示する方法です。

この質問は今回使う連番をどうやって決めるかが要点だと思います。テンプレートに書き込んでおくのも面倒ですし、既に作成したファイルをサーチするのも重い処理になってしまいます。
そこで、テキストファイルを用意して、このファイルに記録した番号を使うようにしています。

ファイルには次に使われる連番をセットしておきます。ハードディスクのどこかのフォルダにメモ帳等を使って次に使う番号を書いたテキストファイルを作ります。(101番だったら101を入力します)
このファイルのフルパスは下記マクロにセットします。

テンプレートの Workbook_Openイベントに書き込みます。(手順は下に)
  ツール→マクロ→Visual Basic Editor でVBE画面に移ります。
  表示→プロジェクトエクスプローラ でプロジェクトエクスプローラを表示し、
  ThisWorkbook をダブルクリックしてエディット画面を出します。
  下記のコードをコピーして貼り付けます。
  次に使う番号を書いたテキストファイル名と、自動連番をセットするシート名とセル番地は
  ご自分のものに合うように変更して下さい。(「これは例です」と書いた箇所です)
次に、自動連番をセットするセルは未入力状態にします(クリアしておきます)
終ったらテンプレートとして保存して下さい。(xlsファイル形式でテストして完成したらテンプレートにしたらどうでしょうか)

欠点・・・
xlsファイルとして保存してもマクロが残ってしまいます。 m(_ _)m
ただし、連番を登録するセルに既に入力(xlsファイルになっている)があれば更新しません。
テンプレートを開いた時点でテキストファイルの連番が更新されるため、そのファイルを保存しなければ連番が飛ぶことになってしまいます。手で修正が必要です。
参考になればと思い作りました。

'***使用済み最終番号を書いたファイル名
Const renbanFile = "A:\Renban\RenbanData.txt" 'これは例です

'テンプレートを開いた時点で連番を読込みシートに書く
Private Sub Workbook_Open()
'書き込む位置の定義
Dim rg As Range '自動連番をセットするセル
Set rg = Worksheets("Sheet1").Range("A1") '***これは例です
If rg <> "" Then
Exit Sub '既に書かれていれば何もしない
End If
Dim fileNo As Integer 'ファイル番号
Dim renban As Long '連番
'連番の入力
fileNo = FreeFile
Open renbanFile For Input As #fileNo
Input #fileNo, renban: Close
'連番を書き込む
rg = "[No." & Right("000000" & renban, 6) & "]"

'連番の更新(次回使う番号を書込み)
Open renbanFile For Output As #fileNo
Print #fileNo, renban + 1: Close
End Sub
お礼コメント
fuji25

お礼率 100% (4/4)

かなり詳しく内容を教えていただきまして、本当に有難うございます
また、お礼の返事も大変遅くなりましてすみませんでした。と言いますのもパソコンが故障してしまいましてどうにも成りませんでした。回答いただきました内容で
ベーシックは全然判らないので、ベーシックの解説書を買ってこれから勉強しますので、今後とも宜しくお願いします。
投稿日時 - 2001-06-18 19:23:53
関連するQ&A
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル10

ベストアンサー率 25% (29/115)

補足ようきゅ~ テンプレートって、EXCEL2000特有の機能? それとも自作のひながた(ワークシート)のことをfuji25さんがそう読んでいるだけなの? 連番の位置とは、シートごとに特定のセルを決めているの?そして、そんなシートが1つのブックにたくさんあるってこと?毎回手入力ってことは、さらにそんなブックがたくさんある(作って行く)ってこと? あと、マクロ(VBA)は、つかえますか?もし使えるな ...続きを読む
補足ようきゅ~
テンプレートって、EXCEL2000特有の機能?
それとも自作のひながた(ワークシート)のことをfuji25さんがそう読んでいるだけなの?
連番の位置とは、シートごとに特定のセルを決めているの?そして、そんなシートが1つのブックにたくさんあるってこと?毎回手入力ってことは、さらにそんなブックがたくさんある(作って行く)ってこと?
あと、マクロ(VBA)は、つかえますか?もし使えるなら、
マクロではいやな理由があるの?

で、とりあえず、勝手な推定でいうと・・・
EXCELマクロで可能です。

(1)ツール/マクロ/新しいマクロ記録 
   マクロ名など適当に・・・
(2)やりたい操作をひとつやる
   (あるシートを選択し、連番のセルに、
    設定したい番号を入れる)
(3)マクロ記録の終了
(4)ツール/マクロ/VisualBASIC....
(5)さっき(1)で選んだ保存先を指定すると
   記録されたマクロが出ます。
(6)ここからプログラムをちょっと変更すると
   できるんですが・・・
   解説書などがあったほうがいいです。
   じっと見てわかっちゃう人もいますが・・
お礼コメント
fuji25

お礼率 100% (4/4)

回答くださいまして有難うございましたまた、お礼の返事が遅くなりましてすみませんでした使っているパソコンが故障してましてようやく直りました。
マクロを勉強して見ます。有難うございました。
投稿日時 - 2001-06-18 19:14:22


このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ