『Ctrlと;キーを同時に押したとき(その2)』(nana) こんにちは。 昨日この質問をしたのですが、 [[20140127135545]] 本日また、同様の症状が出ました。 (Ctrlと;キーを押すと 1/28/2014 という文字列が入力される) 新たにわかったことは、 Ctrlと:キーでは普通に時刻(シリアル値)になります。 一度上書き保存して開きなおすと元に戻っています。 (Ctrlと;でシリアル値の日付になる。ただし、 1/28/2014 と入力されている文字列はそのまま) また、この間、マクロを走らせています。 マクロはデータを印刷用のシートに転記して印刷する、という程度で、 特別な処理はしていません。(そのつもりです) ただし、マクロを走らせると必ずこの症状が出るわけでもありません。 したがって、マクロが関係しているわけでもなさそうです。(絶対に、とはいえませんが) 逆に、マクロであれ手作業であれ、Ctrlと;で文字列の日付を入れる方法があったら知りたいくらいです。 とりあえず一度保存すればよさそうなのでそれで対応いたしますが、 なにか情報があったらお教え下さい。 < 使用 Excel:Excel2013、使用 OS:Windows7 > ---- 予め、該当セルの書式を標準ではなく、任意の日付型にしてはどうですか? CTRL+;はシリアル値を埋めるだけなので、書式まで変わらないと思います。 あと、マクロが書式まで丸ごとコピーしていたりしませんか? この場合は、 値貼り付けする命令に変えることで対応しましょう。マクロが怪しそう…。 (???) 2014/01/28(火) 16:56 ---- ご回答ありがとうございます。 >予め、該当セルの書式を標準ではなく、任意の日付型にしてはどうですか? >CTRL+;はシリアル値を埋めるだけなので、書式まで変わらないと思います。 おっしゃることは良くわかります。 ただ、私の例では、書式が変わったわけではないのです。 1/28/2014 という、「文字列」が入力されてしまうのです。(シリアル値になりません) >マクロが怪しそう…。 私も怪しいとは思うのですが、前に書いたように、 データをコピーして別のシートに貼り付けて印刷しているくらいのマクロです。 あと、このシートモジュールで、 Private Sub Worksheet_Activate() Range("B1").Select Selection.AutoFilter Selection.AutoFilter End Sub というのを使ってますが、関係ありますでしょうか? オートフィルターをはずして掛けなおすだけのマクロです。 (nana) 2014/01/28(火) 17:19 ---- フィルターだけならば大丈夫ですねぇ。 セルの書式が最初から文字列になっているのでは? これを日付に変えてみること。 文字列になっているならば、windowsやExcelの言語指定に従った文字になります。 日付に変えたセル上で CTRL+; しても、勝手に文字列に変わってしまってます? 新しいブックでも同じですか? (???) 2014/01/28(火) 17:30 ---- 前に書きましたように、一度保存するととりあえずは元に戻ります。 したがって現在は文字列になりません。(検証できません) そのうちまたこの現象が起こるかもしれません。(ここ数日のうちに3回起きているので) >新しいブックでも同じですか? 新しいブックでは普通にシリアル値になります。 >セルの書式が最初から文字列になっているのでは? これを日付に変えてみること。 もしそうなら保存して開きなおすだけで書式が変更されることはないと思いますが。 いずれにしても次にこの現象が起きたら、アドバイスいただいたことを確かめてみます。 その時に調べたらいいと思われることがありましたらお教えください。 (nana) 2014/01/28(火) 20:27 ---- 他の人も更新するシートであり、その人は CTRL+; を使わずに、他のセルからコピペしているとか? とりあえず、変わるきっかけを捕まえることです。マクロ実行前にセルの書式を調べておき、 実行後にどうなったか確認してみる、とか。実行前から文字列になっているならば、他人説。 (???) 2014/01/29(水) 08:45 ---- 現在の書式設定は「日付」で、 「2001/3/14」の形式 になっています。 また、このファイルは自分しか使っていないので、他の人が変更することはありません。 とりあえずこのまま様子をみて、今後変化がありましたらまたご報告いたします。 いろいろとありがとうございます。 (nana) 2014/01/29(水) 09:49