- 締切済み
エクセルで来年の西暦の自動認識
エクセル2003です。 例えば 「1/4」と入力すると、自動的に「2009/1/4」と今年の西暦が 認識されますが、あるブックだけは全て2010年で認識したいんです。 毎回「2010/」と入れればいいだけなんですが、これ以外で最初から 来年の西暦を認識させる方法はありますでしょうか? PCの日付を来年にするという強引な手もありますが・・・・
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
区切りが付いたところで操作せねばならない点は、置換と似ていますが、一応日付を11/1のように入れます。 ひと区切り付いたところで 何処かのセルに365を入れてそのセルをコピー。 入力済みの日付列を範囲指定して、形式を選択して貼り付けー加算 で1年先に変わります。 閏年の場合に2/29を挟むかどうかで、使いにくいですが。 関数を入れる列を使わないところがメリット。
- KURUMITO
- ベストアンサー率42% (1835/4283)
「ホーム」タブから「検索と選択」をクリックし、「置換」を選択します。 「置換」のタブで「オプション」をクリックします。 検索する文字列には 2009/ と入力します。 置換後の文字列には 2010/ と入力します。 検索場所で「ブック」を選択します。 「すべて置換」をクリックすることでブック内の2009は一気に2010に変換されますね。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 VBE を開いて、プロジェクトエクスプローラから、ThisWorkbook をクリックして開き、ライン以下のコードを貼り付けます。そのブック全体のシートは、2009年の間は、2010年に変わります。 もし、今年以降はすべて変えるなら、 If Year(Target.Value) = mYEAR Then '2009年のみ(2010年になったら動かない) ↓ If Year(Target.Value) >= mYEAR Then '2009年以降 '------------------------------------------- Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Const mYEAR As Integer = 2009 '2009年のみ(2010年になったら動かない) If Target.Count > 1 Then Exit Sub If VarType(Target) = vbDate Then If Year(Target.Value) = mYEAR Then On Error Resume Next Application.EnableEvents = False Target.Value = DateSerial(Year(Target.Value) + 1, Month(Target.Value), Day(Target.Value)) Application.EnableEvents = True On Error GoTo 0 End If End If End Sub
こんにちは。 表示だけを偽物にするのでれば、表示形式を2010/m/dとして、実際の数値が何年であろうと2010年と表示させる方法があります。 数値までそのようにしたいならば、隣りに1年プラスした数値を返す計算式を=A1+365のように入れて、その計算式の入っているセルを実質的に使う方法がいいと思います。印刷の必要があるなら、入力用の列や行を非表示にすればいいことですから。
- akiomyau
- ベストアンサー率43% (555/1280)
残念ながらそういった設定はありません。