- 締切済み
エクセルのシートの入力について
エクセルのシートを 2014年の4月1番から50番の意味で 14-0401,14-0402… 14-0450 というように していきたいです。 今はすべて 手入力しているのですが かなり時間がかかるので なんとか 楽に入力できないか?考えています。 5月になると 14-0501,14-0502… 14-0550 と 毎月の作業になります。 よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
No.1・5です。 補足を読むのが遅くなってごめんなさい。 No.1の方で良く、任意の年月日で表示させたいというコトですので、 コードに手を加えなくても良いようにしてみました。 Sub シート連番2() 'この行から Dim k As Long, strYr As String, strMn As String strYr = InputBox("西暦年を4桁で入力してください。" & vbCrLf & "(例)2014年 → 2014 と入力") strMn = InputBox("月を入力してください。" & vbCrLf & "(例) 3月 → 3 と入力") For k = 1 To 50 If Worksheets.Count < k Then Worksheets.Add after:=Worksheets(Worksheets.Count) End If Worksheets(k).Name = Format(DateSerial(Val(strYr), Val(strMn), 1), "yy-mm") & Format(k, "00") Next k End Sub 'この行まで こんなんではどうでしょうか? ※ 操作方法はNo.1で記載している方法でやってみてください。m(_ _)m
- tom04
- ベストアンサー率49% (2537/5117)
No.1です。 他の方の回答を拝見して、 前回は誤解していたようです。 Sheetが50あり、そのSheet名をそのように表示したい!という解釈でした。 1Sheetのセルの表示をそのようにする場合は 最初のセルに =TEXT(TODAY(),"yy-mm")&TEXT(ROW(A1),"00") という数式を入れオートフィルで下50行分下へコピーしてみてください。 これで月が変われば自動で表示されると思います。 何度も失礼しました。m(_ _)m
- kagakusuki
- ベストアンサー率51% (2610/5101)
今仮に、2014年の4月の1番目を示す番号(?)を入力するセルがA2セルであるものとします。 まず、A2セルに14-0401と入力してから、Enterキーを押して入力を確定して下さい。 次に、(Enterキーを押した事により、A3セルに移動している筈ですから、再度)A2セルを選択して下さい。 次に、A2セルが選択範囲を示す黒い太枠に囲まれていて、その右下の所に、黒い点が表示されている状態となりますから、その黒点にカーソルを合わせてみて下さい。 するとカーソルの形状が黒い十字の形に変わりますので、その状態でマウスの左ボタンを押しっ放しにし、カーソルをA51セルの所に移動させてからマウスの左ボタンを放して下さい。 これで、14-0401から14-0450までが入力されます。 この様な「黒点にカーソルを合わせて左ボタンを押し、最後のセルの所まで移動してからボタンを放す」操作の事をオートフィルと言います。 【参考URL】 よねさんのWordとExcelの小部屋 > Excel2003基本講座 > オートフィルの使い方 http://www.eurus.dti.ne.jp/~yoneyama/Excel/input_autofir.htm 尚、もしも、番号が縦方向に連続して並んでいる場合には、例えば2014年の5月を入力する際には、既に、2014年の4月の番号が入力されているセルがあるのですから、次の様な方法を使う事が出来ます。 まず、14-0401~14-0450が入力されているセル範囲をまとめてコピーして、14-0501を入力したいセルの所に貼り付けて下さい。 次に、貼り付けた14-0401を14-0501に変更して下さい。 次に、オートフィルを使って、14-0501のすぐ下のセルに14-0502を入力して下さい。 すると、14-0501が入力されているセルと14-0502が入力されているセルの両方が、まとめて選択されている状態となっている筈ですので、その状態で、再度、選択範囲の右下の所にある黒点にカーソルを合わせてから、マウスの左ボタンをダブルクリックして下さい。 すると、14-0403~14-0450が入力されていたセルの内容が、14-0503~14-0550に書き換えられます。 細かく説明しているために、一見しますと面倒な操作の様に思えるかも知れませんが、実際にやってみますと至極簡単ですから、試してみて下さい。
- anaguma99
- ベストアンサー率59% (1620/2727)
例えば、A1に14-0501、A2に14-0502を入力します。 この二つのセルを選んだ状態で、右下の黒い点をクリックしたまま下方向に引っ張ると(ドラッグ)、自動的に順番の番号が入力されます。右方向に伸ばす場合も同様です。
- shorun
- ベストアンサー率42% (133/310)
全て手入力よりは、楽な方法としては 「14-0101」の代わりにキーボード数字「7」の上の「'」を付けて「'14-0101」として 50までコピーする。 同様に次も入力してコピーする。 '14-0501 '14-0601 ・・・ '14-1201 註 数字の頭に「'」を付けて入力すると画面には「'」は表示されません。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! VBAになってしまいますが、一例です。 Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub シート連番() 'この行から Dim k As Long For k = 1 To 50 If Worksheets.Count < k Then Worksheets.Add after:=Worksheets(Worksheets.Count) End If Worksheets(k).Name = Format(Date, "yy-mm") & Format(k, "00") Next k End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m
補足
ありがとうございます。 50枚のシート名を連番にするということがしたかったので No.1の回答で あっています!! ですが 未来のものをつくりたいのです。 いまやると 0201~0250 になってしまいますよね? たとえば 6月分をつくろう! 0601~ と つくって 来年の3月の分までまで 一月1ファイルで 作っておくことがしたいときはどうしたらよいでしょう?