• 締切済み

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

イメージ 日記帳を作ります! 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・・・マクロ・・・ いよいよわたしも上級者かぁ すぐには無理のようですね。ゆっくり勉強していきます! ありがとうございました!

関連するQ&A

  • エクセルで各シートに日付・曜日一括表示するには

    (1)エクセルで7月31日分のシートをつくり、今年のカレンダーどおりの日付・曜日を(各シートのA1セルに、いちいち入力するのではなく)一括で各シートのA1セルに表示できる方法があれば、教えて下さい。 (2)エクセルで昨年7月の平日の数だけシートがあるファイルがあります。各シートのA1セルには、「平成19年7月○日(○曜日)」と入力されています。 このファイルを、今年の7月の平日カレンダーに一括置換するには、どうすればいいでしょうか? 昨年と今年は平日の日付はもちろん、同じ日でも曜日が違いますので、各シートを開き、いちいち日付・曜日を直さなければいけないのでしょうか。教えて下さい。宜しくお願いします。

  • エクセルの計算式について

    エクセルで勤務表を作っているのですが、曜日の所で困っています。 以下の条件ですので、よろしければ計算式を教えてください (1)-(1)A3からA33?に日付を入力する欄として、例とすると「9月26日始まり、10月25日締め」などの条件になるようにする。日付を入力する欄には、月・曜日は表示されないように書式を設定する。 (1)-(2)日付欄には26から31、1から25を入力する(31日まで必ず入力する。31日の下からは1日になるようにする。) (2)A1に年度を入力し(2007などと入力)、A2に月を入力する(例として10月なら10と)。 (3)各月ごとの「土日」には条件書式として「灰色」に塗りつぶされるように設定する。 (4)各年度、各月が変わると自動でその月の「土日」が灰色に塗りつぶされるようにする。 わかりにくいと思いますがよろしくお願いします。

  • Excelにて日付と曜日を自動的に表示できるように…

    ひと月につきひとつのファイル(Excel)で、 その中に1日1枚記入するワークシートが1か月分…つまり1から31まであります。 その1枚ずつに日付と曜日を入れるセルがそれぞれあります。 毎月、前月のファイルをコピーして使用するのですが、 そのため入力する度に日付と曜日を変えています。 これを自動的に表示させる方法はないでしょうか? 例えば10月のファイルなら、 12という名前のワークシートは日付が2005/10/12で曜日が(水)と表示されるような… もし何か名案があればよろしくお願いします。

  • エクセルで日付を自動入力したい…

    エクセル2003にて自動で日付、曜日が入力できる方法を教えください。 現在、日曜、祭日除く27(←MAX営業日数分)の日報の台紙シートを、12ファイル(12ヶ月分)作っています。 (1)A1のセルに日付   例;平成19年9月10日 (2)A2のセルに曜日   例;(月) (3)シート名に     例;10月 ←日付+曜日をこの形式。次は11火        という形式で日々入力しています。 シート一枚ずつに上記の作業をしています。         マクロや数式の設定等で手順を簡略化できませんでしょうか??? 毎日の作業なので効率化したく色々勉強したつもりですが改善できずに困っています。 わかる方教えて下さい。よろしくお願いします。

  • Excelで曜日の自動表示をしたい

    先程、Excelで日付を自動で表示させる方法を質問したのですが、 今度は曜日も自動で表示させたくなったので、 再び質問させて頂きました・・。 Excelで年と月を入力しているセルを読み取り、 それに適合する曜日を自動で表示する式を教えて下さい。 例えば、 A1セルに、2003 A2セルに、5 A3セル~A33セルに、日付 が表示されている時に、 B3セル~B33セルに、A列に表示されている日付に合致した曜日を 自動で表示させるような式があれば、教えて下さい。 よろしくお願いします。

  • エクセル 特定の単語が入力されたときにセルの色を変える

    エクセル 特定の単語が入力されたときにセルの色を変える A1に日付を入力すると、A2に自動的に曜日が入る数式を入れています。 カレンダーのように1ヶ月分がまとめて表示されているわけではなく、入力が必要な日だけ日付を入れるような表になるのですが、土曜や日曜の場合、曜日のセルの色を変える方法を教えていただけますでしょうか。 条件付書式でやってみたのですが、曜日のセルに数式を入れて自動的に表示させている場合、うまくできませんでした。(直接、土曜や日曜と入力するときちんと色が変わったのですが)

  • エクセルのシート間で連続した日付データを作りたい

    オートフィル機能をシート間の串刺しでやりたいと考えています。 現在、日付ごとに1日から31日までの31枚のシートがあります。 1枚目のシートのA1セルに1月1日と入力すると、その後30枚のシートのセルA1にそれぞれ1月2日~31日までの日付が自動で表示できるようにしたいのですが、どのようにすれば楽に処理できるのでしょうか? なお、A2セルには曜日も表示させる予定です。 ご存じの方がいらっしゃいましたら、ぜひお知恵を拝借させて下さい。

  • エクセルの関数について

    エクセルで月間予定表を作っています。(縦に1日から末日までを表示) 年と月を入力すると、日付、曜日が自動的に表示されるようにしたいと思い、日付のところは、1日に、DATE関数を使用し、2日は、1日のセル+1とし、3日以降は、2日の書式をコピーしています。 そうすると2004年2月の場合、29日までなので、30,31日のところが、それぞれ1,2と表示されてしまいます。 1,2と表示される時には、セルを空白にしたいのですが、どんな関数を使ったらいいでしょうか? うまく説明できなくて申し訳ありませんが、どうぞよろしくお願い致します。

  • エクセルに付いて

    エクセルで日誌をかいているのですが、シートを月日数分にして 1日目のシートに年・月・日を入力したら、自動で同じセルの所に月日数分の連続日付を入力出来ないでしょうか。 曜日も同じように入力したいのですが。(日付とセルの位置は違います)宜しくお願いします。

  • エクセルで悩んでいます

    Sheet1のA1に西暦(2008)B1に月(9月) B3~AF3まで日付(固定)その下の行に曜日表示(月を変えると自動で変わります)A5~A22まで個人名(固定)が入っています、そして B5~B22迄(出勤・欠勤)などその日の出勤状況が入ります(手入力) CDE~同じようにその日の出勤状況が入ります この(出勤・欠勤)等の状況を他のシートに移したいです。 Sheet3に通常のカレンダー(壁に掛かってるような)のような表示があります A33(日曜日)B33が空白セルでC33が(月曜日)D33が空白セルの様に空白を挟み土曜日まで続いています、そして34行目~38行目までは曜日の下に日付けが表示されています。シート1の(月)を変更すると日付けが自動で変わります(曜日は固定) その日にちの脇にある空白セルにシート1の(出勤・欠勤)等の表示を 自動で表示させたです(カレンダーは個人別に人数分作ってあります)月を変えると日にちがずれてしまいますので(カレンダーとして使うなら問題ないのですが、月別の出勤状況を解るようにしたいので どうしていいか解りません。 ちなみにシート1は出勤簿でシート3は個人別の給料明細です。 給料明細の中に小さなカレンダーを作り出勤状況を解るように出来ないか考えています。空白セルに手入力も出来るのですが、時間が掛かり過ぎるので・・・VBAなどは解らないので簡単な関数などで出来ればと思います。 解りにくい説明で申し訳ありませんが、お願いします。

専門家に質問してみよう