
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も見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
Excel2007での英語の月名を数字で表示したい
その他(Microsoft Office)
-
1年分のデータから特定の月分のデータを抽出→表示
Excel(エクセル)
-
EXCELで○ヶ月を○年○ヶ月に変換したい。
Excel(エクセル)
-
-
4
エクセルで月をひとつずつ増やす方法は?
Excel(エクセル)
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
エクセル 4ケタの数字を年月に変換する
その他(Microsoft Office)
-
7
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
8
Excel マクロ VBA プロシージャが大きすぎます のエラー対処方法
Visual Basic(VBA)
-
9
Excel 英字含む日時→数字日時への変換方法
Excel(エクセル)
-
10
エクセルで条件に一致したセルの隣のセルを取得したい
その他(Microsoft Office)
-
11
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
12
特定の複数のシートに同じ処理をさせたい
Excel(エクセル)
-
13
条件付き書式のコピーについて(参照先も自動で変更したい)
Excel(エクセル)
-
14
月をアルファベット大文字で表示する方法
Excel(エクセル)
-
15
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
16
Excelの日付入力で○年△月分と表示する方法について
Excel(エクセル)
-
17
☆Excelエクセルで入力した日の日付を表示したいです☆
Excel(エクセル)
-
18
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
19
エクセル関数で日付かどうかの確認?
Excel(エクセル)
-
20
エクセルの線(飛び越え線)の引き方
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
空白でないセルの値を返す方法...
-
5
Excel:文字と数字の組合せ、次...
-
6
値を入力後、自動的にアクティ...
-
7
参照先セルに値が入っていない...
-
8
エクセルで既に入力してある文...
-
9
エクセルで時間の判定をしてい...
-
10
エクセルで列の一番最後の数値...
-
11
【vba】指定範囲の中に任意の文...
-
12
excel 関数にて文字を0として認...
-
13
バーコードが読み取れない原因...
-
14
【エクセル】指定したセルに入...
-
15
自分のEXCELに株価を自動的に取...
-
16
Excel で空欄にも単位 \\や円 ...
-
17
Excelの指数関数近似曲線からの...
-
18
EXCELのセル上のURLを...
-
19
エクセル:コメントのようなも...
-
20
Excelで配列数式を入力できない
おすすめ情報
公式facebook
公式twitter