Excelの印刷条件の設定でレフトフッターに日付+時間を表示させるのですが、この日付と時間の形式がWindowsのコントロールパネルの「地域のオプション」で設定した形式に自動的に設定されるようになっています(と思います)。これをExcel上から自分の好みの形式に変換する方法をご存知でしたら教えていただけませんか?
好みの形式は
06/28/2001 06:15:49 PM JST
です。できればマクロでの記述方法を教えたいただければ幸いです。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

参考になるものがありました。

VBのコード解説ですがVBAでもOKのはずです。

GetTimeZoneInformationがキーワードです。


http://www.vbvbvb.com/jp/gtips/0701/gGetTimeZone …
http://www3.justnet.ne.jp/~takahiro7/api001.html
    • good
    • 0
この回答へのお礼

bin-chanさん、教えていただいたAPI関数を使うことで、タイムゾーンの取得うまくいきました。ありがとうございます。これで月曜日朝一番に社内で公開することができそうです。本当に助かりました。今後ともよろしくお願いいたします。

お礼日時:2001/06/29 18:56

まず、前回答の捕捉ですが、変数に値をセットした瞬間のものが


「ずっと」保持されますからコード処理日時がすべてのページに
印刷されることをご確認ください。

> ところで、Windowsに設定されているタイムゾーンを読み取って
[コントロールパネル]-[日付と時刻]-[タイムゾーン]ですよね。
やり方があるはずですが、今すぐには方法がわかりません。
調べて、わかれば補足しますが、
お急ぎでしたら新たな質問で出して頂いたほうが確実と思います。

> 全世界でこのマクロを使うことになると思いますので。
ご自分の作成したものがとはうらやましいですね。

ではでは。
    • good
    • 0

すみません。

下から3行目が間違ってました。

誤).LeftFooter = "&D&T"

正).LeftFooter = strDateTime
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。教えていただいたマクロの中で

strDateTime = Format(Now, "MM/dd/yyyy hh:mm:ss AM/PM")

というふうにすることでほぼ目的を達成することができました。
ところで、Windowsに設定されているタイムゾーンを読み取って、それをもとに
時刻の最後にJSTとかPSTを付けることはできないでしょうか。小生、外資系の(小さな)会社で全世界でこのマクロを使うことになると思いますので。

お礼日時:2001/06/28 19:11

まず「マクロの記録」で設定なさってみてください。



With ActiveSheet.PageSetup
(略)
.LeftFooter = "&D&T"
(略)
End With
のようなコードが記述されるでしょうから"&D&T"の部分に
文字列変数に放り込んだ値をセットすれば良いでしょう.


Dim strDateTime as String

strDateTime = Format(Now, "書式はテストしてね")

With ActiveSheet.PageSetup
(略)
.LeftFooter = "&D&T"
(略)
End With
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QExcel関数と数値の違い?について知恵を貸していただけると幸いです

いつも大変お世話になっております。

C14のセルにとある数値が入力されています。
F14のセルに
=IF(IF(F15<>0,$C$14,"")="","",IF(F15<>0,$C$14,""))と関数が入力されています。

F15セルに
=IF(IF(P15*10=0,"",P15*10)=0,"",IF(P15*10,"",P15*10))と関数が入力されています。

上記の関数を使うにあたり、P15のセルに数値を入力した時(初めて数値が入力された時)にF14のセルにC14の数値を表示させたいと思っているのですが、F15セルの関数にF14セルの関数が反応してC14の数値を表示してしまって困っています。

解決方法があるようでしたら皆様の知恵をお貸しいただけると幸いです、よろしくお願いいたします。

Aベストアンサー

F14=IF(F15="","",C14)
F15=IF(COUNT(P15)>0,P15*10,"")

こういうことですか?

なんかやたらに複雑な式がかかれていますが、
要は、P15に数値が入力されたら、F15にP15の10倍の数値を、F14にC14の値を表示させればいいんですよね?
だったら、これでできます。
ちなみに、ちょっとひねってあるのは、COUNTを使ったところで、P15に数値以外の文字が入力された場合は反応しないようになっています。代わりに、数値であれば、0を入力しても反応します。
これが嫌なら、COUNT(P15)>0の部分をP15<>0に置き換えてください。

ご参考:
P15*10=0???意味ないですよね?P15=0で充分です。

Excelでは、空白セル、""(長さゼロの文字列)、0は数値として扱う限りにおいて同一です(0とみなされる)。
空白セルを明確に取り出すためにはISBLANK関数、""を取り出すためには=""とかの式にしないとだめです。

Qexcel 書式設定 表示形式

excel 書式設定 表示形式の分類 ユーザー定義の 分類で G/標準の意味は何でしょうか

Aベストアンサー

こんにちは。maruru01です。

横から失礼しますが、No.1の方の回答は少し違います。
まず、表示形式と、セルに入力可・不可とは関係ありません。
表示形式は、あくまで"入力された"データの見た目を指定するものです。
さらに、「G/標準」という表示形式は、数値に対するひょ自形式で、文字列には適用されません。
「G/標準」に設定されたセルに数値を入力した場合、入力した通りに表示します。
文字は設定なし、ということでやはり入力したままで表示されます。
したがって、結局数値も文字も入力した通りに表示することになります。
ただし、数値でセル幅が狭かったり、桁数が多すぎる場合は、指数表示になります。
この辺は、以下のマイクロソフトのページを参考にして下さい。

http://support.microsoft.com/default.aspx?scid=%2Fdirectory%2Fworldwide%2Fja%2Fkblight%2FT009%2F8%2F39.asp

参考URL:http://support.microsoft.com/default.aspx?scid=%2Fdirectory%2Fworldwide%2Fja%2Fkblight%2FT009%2F8%2F39.asp

こんにちは。maruru01です。

横から失礼しますが、No.1の方の回答は少し違います。
まず、表示形式と、セルに入力可・不可とは関係ありません。
表示形式は、あくまで"入力された"データの見た目を指定するものです。
さらに、「G/標準」という表示形式は、数値に対するひょ自形式で、文字列には適用されません。
「G/標準」に設定されたセルに数値を入力した場合、入力した通りに表示します。
文字は設定なし、ということでやはり入力したままで表示されます。
したがって、結局数値も文字も入力した通...続きを読む

QEXCELのセルの書式設定表示形式ユーザ定義について

こんにちは。
EXCELのセルの書式設定の表示形式のユーザ定義で次のとおり表示させたいのですがどうすればよいですか?

セルに0.5と入力したら、
【1:0.5】
1.0と入力したら
【1:1.0】
5.4と入力したら
【1:5.4】
入力する数字の範囲は、0.1~9.9までです。

Aベストアンサー

こんにちは。
"【1:"0.0"】"
で、どうでしょう。

QエクセルVBAのコメント設定について教えていただけないでしょうか。

エクセルVBAのコメント設定について教えていただけないでしょうか。

セルK2に、「8/13」など、日付を投入します。
セルL2には「=DAY(K2)」と投入して、日付だけを表示させています。

セル11行目から下方向に、1日から31日まで表示されています。

セルK2に表示された日付を元に、M列の対象となる日付に以下の
ようにコメントを入れようと思っています。
K2が13日でしたら、M23にコメントを入れたいと思っています。
「13(金)        ←←改行する。
通知予定」


次のようにマクロを設定しましたが、(1)曜日の情報をコメント欄に入れることがで
きません。
また、(2)コメントの書式設定がうまくいきません。
コメント欄を「MSゴシック」のフォントで「14ポイント」のサイズで
「自動サイズ調整」をしたいのですが、コメントが挿入されたセルの書式が変更さ
れてしまいます。


曜日の情報入れて、コメントの書式を設定する方法を教えていただけないでしょうか。

---------------------------------------------------------------------
Sub コメント書式設定2()

Dim 通知日 As Long
通知日 = Range("l2").Value

Cells(通知日 + 10, 13).Select
ActiveCell.AddComment Text:=通知日 & Chr(10) & "通知予定"
With Selection.Font
.Name = "MS Pゴシック"
.FontStyle = "太字"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End Sub

エクセルVBAのコメント設定について教えていただけないでしょうか。

セルK2に、「8/13」など、日付を投入します。
セルL2には「=DAY(K2)」と投入して、日付だけを表示させています。

セル11行目から下方向に、1日から31日まで表示されています。

セルK2に表示された日付を元に、M列の対象となる日付に以下の
ようにコメントを入れようと思っています。
K2が13日でしたら、M23にコメントを入れたいと思っています。
「13(金)        ←←改行する。
通知予定」


次のようにマクロを設定しましたが...続きを読む

Aベストアンサー

>With Selection.Font
 [新しいマクロの記録] で記録すると、確かにそのような コード が記述されますが、その マクロ を再実行してみると、「Selection」は M23 に挿入された コメント ではなくて、セル自体 になるようですね。

With ActiveCell.Comment.Shape.DrawingObject.Font
としてみてください。


>(1)曜日の情報をコメント欄に入れることができません。
 「曜日の情報」が書かれていないからです。
Range("l2").Value
には「13」という数値が入っていますので、これに基づく「通知日」から曜日を割り出すことはできません。

 参照するなら「Range("K2").Value」の「日付シリアル値」の方で、
通知日 & Chr(10) & "通知予定"
の部分を
Format(Range("K2").Value, "d(aaa)") & Chr(10) & "通知予定"
のようにします。

QExcelの「セルの書式設定」→「表示形式」→「ユーザー定義」で・・・。

エクセルで、例えば一つのセルに、数字の「1」を入力すると、「1日」と表示させるには、『G/標準"日"』としています。(他に良い方法があるかも知れませんが・・・)

そこで、質問ですが
同じように、数字の「1」を入力するだけで、「(1)」と表示させるには、どのようにすればよろしいのでしょうか?

お手数をお掛けしますが、よろしくお願いいたします。

Aベストアンサー

(日)と表示させるには、(@)です。
@は文字列表示に使います。


このカテゴリの人気Q&Aランキング

おすすめ情報