過去ログ

                                Page     538
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼ForNextの設定  ラッキー 03/1/12(日) 19:31
   ┗Re:ForNextの設定  bykin 03/1/12(日) 21:47
      ┗Re:ForNextの設定  ラッキー 03/1/12(日) 23:18
         ┣Re:ForNextの設定  ポンタ 03/1/13(月) 8:51
         ┗Re:条件付書式  りん 03/1/13(月) 10:54
            ┗Re:条件付書式  ラッキー 03/1/13(月) 21:50

 ───────────────────────────────────────
 ■題名 : ForNextの設定
 ■名前 : ラッキー
 ■日付 : 03/1/12(日) 19:31
 -------------------------------------------------------------------------
   以下は
Range("B4") = Weekday(Range("e4"))
セルE4のシリアル値をB4に書き出すものですが

For Nextを使って

セルE4,E5,E6......の値を
セルB4,B5,B6......に書き出したいのですがどうすれば
よいのでしょうか?


すみませんがよろしくお願いします
 ───────────────────────────────────────  ■題名 : Re:ForNextの設定  ■名前 : bykin  ■日付 : 03/1/12(日) 21:47  -------------------------------------------------------------------------
   こんばんわ。

For〜Nextやないとあきまへんか?
WEEKDAYワークシート関数(VBのWeekday関数とは別物だが戻り値は一緒)を放り込んで、
後でコピー→値貼り付けっていう方法もあります。
B4:B10が対象ならこんな感じ。

Sub test()
  With ActiveSheet.Range("B4:B10")
    .Formula = "=WEEKDAY(E4)"
    .Copy
    .PasteSpecial xlPasteValues
  End With
  Application.CutCopyMode = False
End Sub

試してみてな。
ほな。
 ───────────────────────────────────────  ■題名 : Re:ForNextの設定  ■名前 : ラッキー  ■日付 : 03/1/12(日) 23:18  -------------------------------------------------------------------------
   >こんばんわ。
>
>For〜Nextやないとあきまへんか?
>WEEKDAYワークシート関数(VBのWeekday関数とは別物だが戻り値は一緒)を放り込んで、
>後でコピー→値貼り付けっていう方法もあります。
>B4:B10が対象ならこんな感じ。
>
>Sub test()
>  With ActiveSheet.Range("B4:B10")
>    .Formula = "=WEEKDAY(E4)"
>    .Copy
>    .PasteSpecial xlPasteValues
>  End With
>  Application.CutCopyMode = False
>End Sub
>
>試してみてな。
>ほな。

bykin さんありがとうございます
VBAの初心者の為いろいろお世話になります。

FOR Nextを使いたいのは、これを使うと目的を果たせる物が
自分で作れると思ったからです。

その目的とは
セルB4:AI4まで1日から31日まであります
そのセルのデータをチェックし土、日曜日ならば
そのセルを赤色に色を塗るマクロを作りたいのですが
上記の場合どうすればよいのでしょうか

よろしければ、アドバイスをお願いします
 ───────────────────────────────────────  ■題名 : Re:ForNextの設定  ■名前 : ポンタ  ■日付 : 03/1/13(月) 8:51  -------------------------------------------------------------------------
   こういうことでしょうか?

Sub test1()
  Dim i As Integer
  Cells.Interior.ColorIndex = xlColorIndexNone
  Cells.Font.ColorIndex = 1
  For i = 1 To 35
    If Cells(4, i).Value = 1 Or Cells(4, i).Value = 7 Then
      '赤い文字にするなら
      Cells(4, i).Font.ColorIndex = 3
    End If
  Next
End Sub

または、

Sub test2()
  Dim i As Integer
  Cells.Interior.ColorIndex = xlColorIndexNone
  Cells.Font.ColorIndex = 1
  For i = 1 To 35
    If Cells(4, i).Value = 1 Or Cells(4, i).Value = 7 Then
      '赤く塗りつぶすなら
      Cells(4, i).Interior.ColorIndex = 3
    End If
  Next
End Sub

PS.
Cells.Interior.ColorIndex = xlColorIndexNone
Cells.Font.ColorIndex = 1
↑の2行は設定を元通りに戻しているだけなので、
削除してしまって構いません。
 ───────────────────────────────────────  ■題名 : Re:条件付書式  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 03/1/13(月) 10:54  -------------------------------------------------------------------------
   ラッキー さん、bykin さん、おはようございます。

>セルB4:AI4まで1日から31日まであります
>そのセルのデータをチェックし土、日曜日ならば
>そのセルを赤色に色を塗るマクロを作りたいのですが

条件付書式を設定する方法もあります。

B4セルで、書式→条件付書式
『数式』が『=(WEEKDAY(B4,2)>5)』'WEEKDAY関数の引数の意味はヘルプで見てね
書式(F)...でパターンを赤に設定し、
設定後、書式をAI4までコピペします。
 ───────────────────────────────────────  ■題名 : Re:条件付書式  ■名前 : ラッキー  ■日付 : 03/1/13(月) 21:50  -------------------------------------------------------------------------
   >条件付書式を設定する方法もあります。
>
>B4セルで、書式→条件付書式
>『数式』が『=(WEEKDAY(B4,2)>5)』'WEEKDAY関数の引数の意味はヘルプで見てね
>書式(F)...でパターンを赤に設定し、
>設定後、書式をAI4までコピペします。

bykin さん,りん さんありがとうございます。


なぜかうまくいきませんでした。

条件付書式では、すみません設定の仕方がわかりませんでした

マクロでは、瞬間的に色がついてるようですが、すぐに色が消えてしまします。


仕方がないので、セルの値をWeekday関数で別のところに出した後
出したセルの内容をもとに、色をつけるようにしてみました。

今後とも、よろしくお願いします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 538