
No.9ベストアンサー
- 回答日時:
> 別セルに"May"でも構わないのです。
だったら話は簡単で、A1に数値を入力したら月名を表示したいセル
を=date(2008,A1,1)として表示形式をmmmmです。
> 毎月使う表の一番上の見出しにその英語表示を出したいので
> あちこちにその設定をするわけではないです。
つまり月を示す数値として使わないで、単なる見出しだけなんで
しょうか。それじゃぁ、数値を入力する意味がないです。該当する
月のカレンダーを生成するとか、そういうことを意図してるんだと
思ってましたが。
再びの回答ありがとうございます。
返事が遅くなって申し訳ありません。
そうなんです、単純に表の上にその月を英語表示するセルが一つ
ほしかったのです。
まさにカレンダー生成に使用するつもりですが、他の日にちの欄は
なんとか間に合っていて、一番上の表示だけが困っていたのです。
DATEの関数使えば出来るという単純ですがそれが
思いつかなかったんで。。。
超初心者の方に作るファイルなので、入力も簡単にしたかったのです。
一番シンプルなgrumpy_the_dwarfさんのを使わせていただきます。
ありがとうございました。
No.10
- 回答日時:
#5 と #8 の回答した者です。
後の方の書き込みで気が付きました。
回答は、読み間違えて書いてしまいました。すみませせん。
>もし、このような条件なら、マクロしかありません。
>>A1に5と入力してA1に"May"もしくは別セルに"May"でも構わないのです。
別のセルで良いのでしたら、マクロは要りませんし、#5のマクロは、別のセルに入れるようには出来ていません。あくまでも、自セルです。なお、数式側はそのままです。
#5のマクロを別にセルで使う場合は、
'---------------------------------
'変更:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
Dim mDate As Date
'数値をいれるセル
If Target.Address(0, 0) = "A1" Then
If IsNumeric(Target.Value) Then
i = Target.Value
If i > 0 And i < 13 Then
mDate = DateSerial(Year(Now), i, 1)
Application.EnableEvents = False
'月名を入れるセル
Range("C1").Value = Format$(mDate, "mmmm")
Application.EnableEvents = True
End If
End If
End If
End Sub
回答ありがとうございます。
返事が遅くなって申し訳ありません。
先にアドバイスいただきましたマクロを
やってみました。
コピーと貼り付けだけで、内容は全く理解してないですが
やりたかった事ができて感激でした!
今回は超初心者向けの人のファイルを作る為の物なので
これは自分用のファイルの時に使わせていただきます。
ありがとうございました。
No.8
- 回答日時:
#5のマクロを数式で移植すれば、意味としては、若干違いますが、以下のようになります。
=IF(ISTEXT(A1),"",IF(AND(A1>0,A1<13),TEXT(DATE(2008,A1,1),"mmmm"),""))
No.7
- 回答日時:
別のセルに”May”でいいのであれば、VLOOKUP関数はどうでしょうか?
A1~A12にそれぞれ、「1~12」
B1~B12にそれぞれ、「January~December」
と入力します。
C1に「5」と入力したとして、
D1に下記の式を入力します。
=VLOOKUP(C1,A1:B12,2,0)
すると、D1には「May」とでます。
C1=1であれば、「January」
C1=12であれば、「December」
になります。
A1:B12の範囲に適当な名前(例えば”月対応表”)をつければ、
コピペした時にも楽になります。
=VLOOKUP(C1,月対応表,2,0)
回答ありがとうございます。
返事が遅くなり申し訳ありません。
VLOOKUP関数を使ういう手もあるんですね。
全く発想無かったです。
よく使う関数とかが決まってるので
ワンパターンな考え方しかできなくてなかなか思いつかないです。
実際はとても簡単にできたりする事も
ややこしく考えてしまったりして。。。
どうもありがとうございました。
No.6
- 回答日時:
NO4です。
左側枠にエクスプローラ画面の様なフォルダ階層が表示されていれば、そのSheet1をダブルクリックし、右側枠内に参考ソースを貼り付けて下さい。
相違していましたら、表示→プロジェクト エクスプローラで表示して下さい。
何度もありがとうございます。
返事が遅くなって申し訳ありません。
おっしゃってた左枠はエクスプローラの画面の事だったんですね。
最初に教えていただいたやり方で実行したらうまくいきました。
MVBの画面にあまり慣れていないので、簡単な事でとまどって
しまいました。
どうもありがとうございました。
No.5
- 回答日時:
こんにちは。
もし、このような条件なら、マクロしかありません。
>A1に5と入力してA1に"May"もしくは別セルに"May"でも構わないのです。
貼り付け方。
マクロを実行しようとするワークシートのシートタブ(下部のSheet1,Sheet2 ...)を右クリックすると、「コードの表示(V)」というメニューがありますから、それをクリックしてください。そして、開いた画面に、以下のコードを貼り付けて、Alt + Q で閉じれば設定は完了です。
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
Dim mDate As Date
If Target.Address(0, 0) = "A1" Then
If IsNumeric(Target.Value) Then
i = Target.Value
If i > 0 And i < 13 Then
mDate = DateSerial(Year(Now), i, 1)
Target.Value = Format$(mDate, "mmmm")
End If
End If
End If
End Sub
No.3
- 回答日時:
NO1です。
>1から12の数字を入力した場合に英語で表示
⇒やはり、期待値と相違したみたいですね。後はマクロ(VBA)又は、日付入力(m/1)してセルの書式設定で変更ぐらいでしょうか。
因みにVBAの一例ですがお試し下さい。
(1)alt+F11キー押下
(2)左側枠の対象sheet1をダブルクリック
(3)右側枠内で以下のソースを貼り付け
(4)alt+F4キー押下
因みにA1:A5セル範囲のみ有効としています。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myMonth As String
On Error GoTo error
If Intersect(Target, Range("A1:A5")) Is Nothing Then Exit Sub
Select Case Target.Value
Case 1
myMonth = "January"
Case 2
myMonth = "February"
Case 3
myMonth = "March"
Case 4
myMonth = "April"
Case 5
myMonth = "May"
Case 6
myMonth = "June"
Case 7
myMonth = "July"
Case 8
myMonth = "August"
Case 9
myMonth = "September"
Case 10
myMonth = "October"
Case 11
myMonth = "November"
Case 12
myMonth = "December"
End Select
Application.EnableEvents = False
Target.Value = myMonth
error:
Application.EnableEvents = True
End Sub
この回答への補足
ありがとうございます。
マクロは簡単なものしか作ったことないのであまり
わからないのですがMVBの画面で
左枠と右枠に分かれていないのですが
どうやったらその画面を出せますか?
alt+F11ではなりませんでした・・・。
No.2
- 回答日時:
別のセルに英語の月名を表示させるんじゃダメな理由は何でしょう
か。表示と入力すべき値がとっ離れていると、いつか必ず「May」と
タイプしてそこらじゅうエラーだらけで悩むことになりますよ。
表示の上でどうしても数字は見せたくないのでしたら、「May」と入
力させておいて見えないところで数値にするのはどうでしょう。
=month(datevalue(A1&"-1"))あたりで可能です。入力時のスペルミ
スが怖ければ、入力規則でリストに設定して選択させる手がありま
すよね。私はそういう裏処理を別シート上でまとめて、非表示にし
ておくことが多いです。
この回答への補足
回答ありがとうございます。
>別のセルに英語の月名を表示させるんじゃダメな理由
別のセルに英語表示でも構いません。
A1に5と入力してA1に"May"もしくは別セルに"May"でも
構わないのです。
>いつか必ず「May」とタイプしてそこらじゅうエラーだらけ
で悩むことになりますよ
毎月使う表の一番上の見出しにその英語表示を出したいので
あちこちにその設定をするわけではないです。
数字で入力をして英語の表示にしたいので
=month(datevalue(A1&"-1"))だと少し主旨が変わってしまいます。
もし他に良い方法が見付からなければ入力規則にしてみようかと
思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
確定申告しなかった・無申告の人をどうやって見つけるのか元国税調査官に聞いてみた
無申告の方などを対象に税務調査を行う国税局の元税務調査官さんに、どう無申告を探すのか聞いてきました。
-
Excel2007での英語の月名を数字で表示したい
その他(Microsoft Office)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
月をアルファベット大文字で表示する方法
Excel(エクセル)
-
4
EXCELで○ヶ月を○年○ヶ月に変換したい。
Excel(エクセル)
-
5
エクセル 4ケタの数字を年月に変換する
その他(Microsoft Office)
-
6
エクセルで特定の列にある日付データの中から、指定した日付範囲を抽出する方法を教えてください
Excel(エクセル)
-
7
Excel 書式を関数で判断。
Excel(エクセル)
-
8
エクセルで条件に一致したセルの隣のセルを取得したい
その他(Microsoft Office)
-
9
1年分のデータから特定の月分のデータを抽出→表示
Excel(エクセル)
-
10
エクセル 指定した月のデータを自動的に反映させられる方法
Excel(エクセル)
-
11
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
12
エクセル(EXCEL)で15分単位で加算したい場合
Excel(エクセル)
-
13
Excelで表を作り、自動で今月の列に色をつける
財務・会計・経理
-
14
Excel 表から値をさがして隣のセルの値を返す
Windows Vista・XP
-
15
EXCELの年月変換について
Excel(エクセル)
-
16
プルダウンで選択すると隣のセルに自動で入力される方法
その他(ビジネス・キャリア)
-
17
セルを結合したA4とA5の条件付き書式を結合しない行にも適用する方法を教えて下さい。
Excel(エクセル)
-
18
差し込み後、元データを変更し 差し込み先に反映させるには?
Access(アクセス)
-
19
エクセルで、あるセルに入力されたらこのセルを参照する…
Excel(エクセル)
-
20
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
EXCEL関数(数式)を教えてくだ...
-
5
エクセルで既に入力してある文...
-
6
バーコードが読み取れない原因...
-
7
値を入力後、自動的にアクティ...
-
8
空白でないセルの値を返す方法...
-
9
参照先セルに値が入っていない...
-
10
EXCELのセル上のURLを...
-
11
エクセルで、セルに入力カーソ...
-
12
Excel:文字と数字の組合せ、次...
-
13
IF関数で0より大きい数値が入力...
-
14
エクセルで時間の判定をしてい...
-
15
マイナス同士の前年比
-
16
エクセル セルに━ (横棒)を入...
-
17
【vba】指定範囲の中に任意の文...
-
18
【エクセル】検索ボタンを作り...
-
19
Excelでロト6の数字を決めたい
-
20
エクセルで列の一番最後の数値...
おすすめ情報
公式facebook
公式twitter