• 締切済み

エクセル こんなことしたいです

イメージ 日記帳を作ります! 1つのBookに、1ヶ月分を入力します 1つのシートで1日分です ★セルA1に日付入力(例:4/21と入力する ⇒ 19年4月21日)と自動表示される ※セルの書式設定をいちいちするのは面倒です!  他のシートに書式コピーするのも面倒です!   ★セルA1に日付を入力 ⇒ シート見出しに自動的に、その月日が表示される ※シート見出しを右クリックして、いちいち名前の変更など面倒です! ★セルA1に日付入力 ⇒ それに対応する曜日を隣セルに自動表示 ★シート1の設定そのままで、シートを30枚一気に作成 ※Shift⇒F11では、完全に新しいシートができてしまいますよね。それに30回繰り返さないといけないですし・・・ ※シートの移動、コピーでも30回繰り返さないといけない・・・ 面倒です!! ★できればできあがった30枚のシートには、自動的に日付も曜日も シート名も出来上がっている ※例:シート1が5月1日で、フォーマット(テンプレート?)作成すると、自動的にシートが30枚できて、それぞれセルA1に日付(例: 5月5日)それに対する曜日が表示されている ★土曜は曜日が自動的に青になっている  日曜は赤になっている いろいろやかましいですが・・・お知恵(知識)お貸しください!! よろしくお願いいたします! よろしくお願いします!  

みんなの回答

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.5

#4です。 上級を目指す方なので大丈夫かとは思いますが、一応、先ほどのVBAの使用法を書いておきます。 1.AltキーとF11を同時に押すとVBAの画面が開きます。 2.左側でブック名を選択し、右クリックして、「挿入」、「標準モジュール」を選択します。 3.出てきた右の白い画面に先ほどのマクロをコピーして貼り付けてください。 4.Alt+F11でワークシート画面に戻ります。 5.A1に日付を入力したらAlt+F8からマクロ(test01)を実行してみてください。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

面白そうだったので、NIimuroyuiさんの勉強にはならないかもしれませんが作ってみました。 こんなのはどうでしょう? Sub test01() Dim x Dim LD As Integer, FD As Integer, C As Integer, n As Integer, i As Integer Dim ns As Object With ActiveSheet x = .Range("A1").Value If Not (IsDate(x)) Then MsgBox "A1に正しい日付を入力して下さい", vbCritical, "" Exit Sub End If .Range("A1").NumberFormatLocal = "e""年""m""月""d""日""" .Range("B1").Clear .Name = .Range("A1").Text With .Range("B1") .Formula = "=TEXT(A1,""aaaa"")" .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""日曜日""" .FormatConditions(1).Font.ColorIndex = 3 .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""土曜日""" .FormatConditions(2).Font.ColorIndex = 5 End With FD = Day(.Range("A1")) LD = Day(DateAdd("d", -1, DateAdd("m", 1, DateValue(Year(x) & "/" & Month(x) & "/1")))) For n = FD + 1 To LD .Copy after:=Sheets(Sheets.Count) Set ns = Sheets(Sheets.Count) i = i + 1 ns.Range("A1") = ns.Range("A1") + i ns.Name = ns.Range("A1").Text Set ns = Nothing Next n End With End Sub

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.3

そのまま回答してしまうと質問ではなく作成依頼になりそうな気がするのでヒントだけ出してみます。 日付けの表示形式:セルの表示形式 指定したシートをあらかじめ用意したい:オプション(新しいブックのシート数) 複数シートに対して一度に操作する:作業グループ シート名の自動設定:VBA(はじめは記録マクロで記述内容を確認しましょう) 書式やシート数をあらかじめ設定したブックを新しく作りたい:テンプレート 曜日に関する関数:weekday 文字色を指定した設定:条件付き書式 こんなもんでしょうか。 いろんなことができますので、覚えるだけでも楽しい…かもしれません。

noname#70726
noname#70726
回答No.2

こんばんは。私も No.1 の方と全く同意見なのですが、VBA や マクロに挫折した場合のために、いくつかヒントだけ書いておきます。 ・日付入力   例えばセルA1が4/21だったとして、別のセルに =A1+1 とすれば、次の日付になります。 ・曜日表示   日付の表示形式をyyyy/m/dとすると、曜日はaaaです。   参考URL : http://www.eurus.dti.ne.jp/~yoneyama/Excel/hiduke.htm ・曜日の色指定   メニューの「書式」-「条件付き書式」を調べてみましょう。 ・シートのコピー   Ctrlキーを押しながらシート名の部分をクリックし、そのまま横に移動するとシートがコピーされます。 ご質問者様の、別の質問を見させていただいたのですが、現在、初級者→中級者へのステップアップを目指されているという状態ですよね。最近は、親切な方が「Excel講座」的なものをサイトで公開してくださっているので、そういうのを参考にしつつ、どうしても分からないところだけここで質問された方が良いと思います。 ご参考になれば幸いです。

NIimuroyui
質問者

お礼

紹介してくださったサイトをお気に入りに登録しました! 見やすくて、たくさんあるサイトですね。 がんばって勉強していきたいと思います! ありがとうございました。

  • tocci_pc
  • ベストアンサー率14% (19/130)
回答No.1

VBAとかマクロならできますよ。 どうやるのかは、ネットで探して見ましょう。 また、見に来て解決できてなかったらヒントを考えてみます

NIimuroyui
質問者

お礼

VBA・・・マクロ・・・ いよいよわたしも上級者かぁ すぐには無理のようですね。ゆっくり勉強していきます! ありがとうございました!