[[20050225135220]] 『日付の入力について』(プー) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『日付の入力について』(プー)

 勤務表を作成していますが 
 例えば、セルのA1に3月と入れたら、自動で日付と土日祭日に色を付けたいのですが
 出来ますか?過去ログで『自動で日付を入力したい』と言うのが、ありましたが
 VBAは全く使った事がないので、式を見ても解らなくて・・・
 教えて下さい!!


[[20050217184341]] 『日付の色変え』(ぱっしん)
 検索するといっぱい出てきますね。
 (メロン2)

 さっきからメロン2さんと衝突ばっかり(^_^A;
 以下衝突時のです。
 マクロがご希望でしょうか。
 以下のようなことではどうでしょうか。
[[20050201152325]]『条件付書式』 (新米) 

 (川野鮎太郎)

 全てはセルに、2/1 2/2 と入力されてますよね?
 セルのA1に月を入力したら、セルのB2から横に 1 2 と日にちだけ入力なんです。
 マクロでも良いのですが・・・

 表示形式を d にするだけですよ。

 (川野鮎太郎)

 B1セルをクリックして、メニューバーの「書式」>「条件付き書式」
 「数式が」「=WEEKDAY($A$1&"月"&B1&"日")=7」 で土曜日の書式を設定
 「数式が」「=WEEKDAY($A$1&"月"&B1&"日")=1」 で日曜日の書式を設定
 B2以降に書式コピー
 (代奈)
 ※だけど、こういう入力の仕方だと、年がないから来年以降変になるよね?
  自動更新されるのだろうか? 疑問(ーー;)

 川野鮎太郎さんに質問します!
 [[20050201152325]]『条件付書式』 を見てたら月日でオートフィルタを使ってありました。1/1 の所をクリックしたら横にフィルタが・・・これは、どの様にするのですか?教えて下さい。


 それはオートフィルタではないですよ(^_^A;
 入力規則で月の初めを出しているだけです。
 隣のセルを見たら、+1しているのが判ると思います。

 (川野鮎太郎)


 川野さんが作られた[[20050201152325]]『条件付書式』 (新米)
 を参照して、休日割当を作成しましたが祭日だけ色が変わりません。
 セルのB2に月初めを出して、表示を○月分ってしただけなのに・・・
 日にちの頭は =IF(B2="","",IF(DAY(B2)<DAY(B2),"",B2)) として
 次の日からは =IF(C5="","",IF(DAY(C5+1)<DAY(C5),"",C5+1))
 土日は色付けされるので、休日一覧が違うのでしょうか?


 条件付書式はどうなっていますか。
 C5の条件付書式 =OR(WEEKDAY(C5)=1,ISNUMBER(MATCH(C5,休日設定,0))) で赤
         =WEEKDAY(C5)=7                   で青
 休日一覧の範囲に、名前の定義で 休日設定 と定義します。

 (川野鮎太郎)


 出来ました!名前の定義を休日一覧にしてました・・・
 有難うございました!

 すみません・・新たな問題が発生しました。
 Sheet1に作成した休日割当表の赤い文字で入力されたのだけ、Sheet2に抽出したいのですが??
 過去ログを見ましたが、難しいですね・・・
 日祭日に入力された文字と"○","◎",を抽出する様にしたのですが・・・
 これまた???でして・・・良い方法はないでしょうか??


 具体的なレイアウトを提示していただければ、具体的な回答が得られると思いますよ。
 今日は忙しくて、σ(^_^;)は出来ないかもですけど・・・_/ ̄|○ il||li

 (川野鮎太郎)


 休日割当表があります。
   
    A   B C D E F G H ・・・・・
 5      1 2 3 4 5 6 7 ・・・・・
 6      火 水 木 金 土 日 月
 7 氏 名
 8  田中   ○ ト ト ぺ − 出 大 
 9  佐藤   大 ○ ト ぺ ぺ  ◎ ト
 10  鈴木   大 − ○ 集 ト ト ペ   

 Sheet2 には全く同じ表なんですが、○と◎と赤い文字で入力したものを抽出
 したいのです。日祭日の時は赤い文字なんです。


 もひとつ質問です。
 抽出とは具体的にどのような結果がご希望でしょうか。

 上記の表でセル番地はどうなっていますか。

 (川野鮎太郎)


  Sheet2には

     A   B C D E F G H ・・・・・
  5      1 2 3 4 5 6 7 ・・・・・
  6      火 水 木 金 土 日 月
  7 氏 名
  8  田中   ○         出  
  9  佐藤     ○        ◎ 
  10  鈴木       ○     ト 

 と抽出したいです。   


 Sheet2のB8セル=IF(OR(WEEKDAY(B$5)=1,Sheet1!B8="○",Sheet1!B8="◎"),Sheet1!B8,"")
 で、右方向、下方向へコピーでどうでしょうか。

 (川野鮎太郎)


 有難うございます。日曜は抽出されますが、祭日が抽出されないのですが??
 もう一つ質問なのですが,休日割当表のセルが黄色だった場合は,Sheet2には
 セルは黄色で"出"と表示したいのですが出来ますか?


 Sheet2のB8セル=IF(OR(WEEKDAY(B$5)=1,Sheet1!B8="○",Sheet1!B8="◎",COUNTIF(休日設定,B$5)),Sheet1!B8,"")

 休日割当表のセルを黄色にしているのは、手作業でしょうか。
 それとも条件付書式?
 条件付書式なら、その条件の式はどうなっていますか。

 (川野鮎太郎)

 休日割当表のセルを黄色にするのは、手作業なんです。
 最初"出"と入れたら公休出勤と言う意味でセルを黄色にする様に、
 条件付書式で =B8="出" としてましたが、公休出勤の仕事内容を休日割当表の方には
 入力するので手作業になりました。


 Sheet2のシートモジュールに貼り付けてお試しください。
 
'////////////////////////////////////ここから
 
Private Sub Worksheet_Activate()
Dim Sh1 As Worksheet, Sh2 As Worksheet
 
Const MyRange As String = "B8:AF20"
 
Set Sh1 = Worksheets("Sheet1")
Set Sh2 = Worksheets("Sheet2")
    Sh1.Range(MyRange).Copy
    Sh2.Range(MyRange).PasteSpecial Paste:=xlFormats
    Application.CutCopyMode = False
    Sh2.Range("B8").Select
End Sub
 
'/////////////////////////////////////ここまで。

 (川野鮎太郎)


 これはマクロですか???超初心者なものでして・・・
 Sheet1・Sheet2をコピーして使うと,このマクロの設定もし直すのでしょうか?


 はい、マクロです。
  上記コードはSheet2のシートタブを右クリックして、コードの表示で出たVBEの画面に貼り付けます。
 Sheet2がアクティブになったら、Sheet1の書式をコピぺするようになってます。

 コピーして使われる場合は、上記のコード中の
 Set Sh1 = Worksheets("Sheet1")  ←のSheet1の部分を実際のシート名に直すことになります。
 Set Sh2 = Worksheets("Sheet2") ←もです。

 本当は上記のようなシートがアクティブになったときに走るコードはお勧めできませんけど、
 色を変えたときに発生するイベントをσ(^_^;)が知らないもので・・・_/ ̄|○ il||li

 (川野鮎太郎)

 マクロとエクセルって関数は違う??
 上記の方法でやりますと、全部表示されますよね?
 だから=IF(OR(WEEKDAY(B$5)=1,Sheet1!B8="○",Sheet1!B8="◎",COUNTIF(休日設定,B$5)),Sheet1!B8,"") の式を当てはめたいのですが???
 そんな事は無理難題????


 上記のマクロは書式だけのコピーだから、数式で入れたものはそのまま残るので
 抽出は出来ますよ。

 (川野鮎太郎)

 やり方が違うのでしょうか?式を貼り付けて使うと, = "B8:AF20"の選択範囲が点線で
 囲まれて,Enterキーを押すとSheet1が全て表示されて数式は消えてしまうのですが?


 やり方を順番に書いてみます。

 1.=IF(OR(WEEKDAY(B$5)=1,Sheet1!B8="○",Sheet1!B8="◎",COUNTIF(休日設定,B$5)),Sheet1!B8,"") の式をSheet2のB8に入れて、他のセルにもコピー

 2.Sheet2のタブを右クリックして、コードの表示>上記のマクロコードを貼り付け

 3.Sheet1に戻って、黄色にしたいセルを選択して、色を黄色に設定。

 4.Sheet2に行くと、黄色になっている。    ・・・・・・と思います。
          黄色になっている。    ・・・・・・はず・・・。
          黄色になっている。    ・・・・・・なっていて。_/ ̄|○ il||li
 (川野鮎太郎)

 やった方法を順番に書きます。

 1.=IF(OR(WEEKDAY(B$5)=1,Sheet1!B8="○",Sheet1!B8="◎",COUNTIF(休日設 定,B$5)),Sheet1!B8,"") の式をSheet2のB8に入れて、他のセルにもコピーしました!

 2.Sheet2のタブを右クリックして、コードの表示>上記のマクロコードを貼り付けまし  た!

 3.Sheet1に戻ると、= "B8:AF20"の選択範囲が点線で表示されています。

 4.Sheet2に行くと、= "B8:AF20"の範囲が選択されています。そしてEnterを押すと
  Sheet1の選択範囲が全て表示されます。しかし!!戻すをクリックすると抽出されて
  いるんです。????


 上記コードに2行付け加えましたので、上書きしてください。

 それと、手順にEnterするって書いてませんよ。(^_^A;
 Enterすると、貼り付けられてしまいます。

 (川野鮎太郎)

上書きをしましたが  Sh.Range("B8").Select の所でオブジェクトが必要です。と表示されますが何故でしょうか??


 失礼しました。 
 Sh.Range("B8").Select  ←誤
 Sh2.Range("B8").Select  ←正 です。

 (川野鮎太郎)

 出来ました!長々と有難うございました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.