質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

1回答

1608閲覧

Access VBA 二桁の数から四桁の西暦年を出す

mnbwqz

総合スコア74

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2022/03/21 04:25

編集2022/03/21 09:21

Access VBA 二桁の数から四桁の西暦年を出します。
例えば22とあれば、2022(年)とします。
現在"20"を連結しています。
この方法では、システムの設定に合わせて2100年以降の値を得る、
ということができません。
連結しない方法はありますでしょうか。

AccessVBA

1Dim 数値 As String 2数値 = 20 3Debug.Print "20" & Right(数値, 2)

以下の方法ではだめでした。

AccessVBA

1Debug.Print Format(Right(数値, 2), "20@@") → 220@@となる 2Debug.Print Year(Right(数値, 2)) → 1900となる

よろしくお願いします。

(質問追記)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

iruyas

2022/03/21 04:30

2000を加算するとかって話?
y_waiwai

2022/03/21 05:48

どういう理由で連結ではダメなんでしょうか
takasima20

2022/03/21 12:40

いわゆる2000年問題に類するやつですな。 これは「どうしたら」というより「どうしたいか」つまり仕様決めの問題でしょう。 根本解決には年を4桁で持つしかありません。(背景が分かればなんとかなるかもしれませんが)
KOZ6.0

2022/03/21 14:18

レジストリの HKEY_CURRENT_USER\Control Panel\International\Calendars\TwoDigitYearMax\1 を見て判断するとか(デフォルトは 2029)
Usirow

2022/03/22 04:10

これもしかして、1998年とかも想定していますか?
guest

回答1

0

ベストアンサー

結果が字列型で欲しいなら、下記とか。

vba

1 Dim 数値 As String 2 数値 = "22" 3 Debug.Print Format(Right(数値, 2), "\2\0@@")

数値型なら、下記とか。

vba

1 Dim 数値 As String 2 数値 = "22" 3 Debug.Print Val(Right(数値, 2)) + 2000

投稿2022/03/21 05:47

編集2022/03/21 05:48
hatena19

総合スコア33715

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mnbwqz

2022/04/01 09:44

ありがとうございました。 文字列・数値両方参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問