
No.5ベストアンサー
- 回答日時:
>祝日は、違うシートに書き出して、条件に=COUNTIF(シート名!$B$2:$B$72,$A6)=1
>(B2:B72まで祝日等のデータあり)を入れています。
Dim c As Range
'前回の直線を削除
ActiveSheet.Lines.Delete
For Each c In Range("B6:B36")
If Weekday(c.Offset(, -1).Value) = 7 Or _
Weekday(c.Offset(, -1).Value) = 1 Or _
Application.CountIf(Worksheets("シート名").Range("B2:B72"), c.Offset(, -1)) = 1 Then
With ActiveSheet.Shapes.AddLine(c.Left, c.Top + c.Height / 2, c.Offset(, 13).Left, c.Top + c.Height / 2)
.Line.ForeColor.SchemeColor = 10
End With
End If
Next
No.4
- 回答日時:
>条件付き書式には、
>=WEEKDAY($A6)=7や=WEEKDAY($A6)=1 などが入っているのですが、
>(A6からA36までに2013/12/28などの情報があります)この式を直接入れてしまってよろしいのでしょうか?
Dim c As Range
'前回の直線を削除
ActiveSheet.Lines.Delete
For Each c In Range("B6:B36")
If Weekday(c.Offset(, -1).Value) = 7 Or Weekday(c.Offset(, -1).Value) = 1 Then
With ActiveSheet.Shapes.AddLine(c.Left, c.Top + c.Height / 2, c.Offset(, 13).Left, c.Top + c.Height / 2)
.Line.ForeColor.SchemeColor = 10
End With
End If
Next
If Weekday(c.Offset(, -1).Value) = 7 Or Weekday(c.Offset(, -1).Value) = 1 Then
これに祝日の判定を加える必要がありますが
祝日の判定は、どのようにされていますか
この回答への補足
お世話になります。
祝日は、違うシートに書き出して、条件に=COUNTIF(シート名!$B$2:$B$72,$A6)=1(B2:B72まで祝日等のデータあり)を入れています。
No.3
- 回答日時:
こんばんは!
横からお邪魔します。
オートシェイプを挿入するマクロはNo.1さんが的確なコードを載せていらっしゃいますので・・・
もしお使いのExcelが2010以降のバージョンであれば
「DisplayFormatオブジェクト」というものが追加されているようですので、
条件付き書式で色がついているセルを判別できます。
おそらく、月が変わるたびにマクロを実行する必要があると思いますので、
一旦オートシェイプを削除する必要あるのでは?
余計なお世話かもしれませんが・・・
Dim myShp As Object
For Each myShp In ActiveSheet.Shapes
myShp.Delete
Next myShp
を追加して、一旦表示されているオートシェイプを消してしまいます。
次に
>If c.DisplayFormat.Interior.ColorIndex <> xlNone Then
あとはNo.2さんのコードそのまま
で条件付き書式で色がついているセルにオートシェイプが表示されると思います。
※ Excel2007までの場合はすでに回答されているように
IF の条件に 条件付き書式の条件を細かく設定してやる必要があると思います。
どうも失礼しました。m(_ _)m
No.2
- 回答日時:
#1です。
>条件付き書式を使い、・・・・セルに色がつくように
If c.Interior.ColorIndex <> xlNone Then
↑これでは、条件付き書式で付けられた色は判別できないです。
ここに、条件付き書式の数式を記載してください。
この回答への補足
ご回答ありがとうございます。
条件付き書式には、
=WEEKDAY($A6)=7や=WEEKDAY($A6)=1 などが入っているのですが、(A6からA36までに2013/12/28などの情報があります)この式を直接入れてしまってよろしいのでしょうか?
No.1
- 回答日時:
こんばんは、参考に
Dim c As Range
'前回の直線を削除
ActiveSheet.Lines.Delete
For Each c In Range("B1:B31")
If c.Interior.ColorIndex <> xlNone Then
With ActiveSheet.Shapes.AddLine(c.Left, c.Top + c.Height / 2, c.Offset(, 13).Left, c.Top + c.Height / 2)
.Line.ForeColor.SchemeColor = 10
End With
End If
Next
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
「B列が日曜の場合」C列に/(斜線)が入るようにならないものでしょうか?
Excel(エクセル)
-
エクセルで自動に休日の列に網がけする方法を教えてください
Excel(エクセル)
-
エクセルの質問です。条件によってセルに斜線を引きたいのですが。
その他(OS)
-
-
4
罫線の斜線を自動で引くマクロ
Excel(エクセル)
-
5
条件付き書式で曜日の「月」ならその左の罫線を太くしたい(下の行も摘要)
Excel(エクセル)
-
6
Excel VBA 条件に一致した言葉の下セルに斜線をひきたい
Visual Basic(VBA)
-
7
Excel データ入力に応じて自動的に斜線を引きたいのですが
Excel(エクセル)
-
8
条件付き書式で自動で斜線の罫線を引く
Excel(エクセル)
-
9
Excelの関数について、特定の文字を入れると斜線や線を入れることは出来ますか?
Excel(エクセル)
-
10
値が入っているときだけ計算結果が表示されるようにするには・・?
Excel(エクセル)
-
11
エクセルで曜日に応じた文字を自動で入力したい
その他(Microsoft Office)
-
12
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
13
28日~31日が必要ない所を空白表示にする方法
Excel(エクセル)
-
14
Excel(VBA)データ入力に応じて複数範囲のセルの上に1本の斜線を引きたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
Vba セルの4辺について罫線が有...
-
改行文字「vbCrLf」とは
-
【マクロ】開いているブックの...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
Excel VBA 選択範囲の罫線色の...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
以下のプログラムの実行結果は...
-
【ExcelVBA】値を変更しながら...
-
Vba 型が一致しません(エラー1...
-
Excelのマクロについて教えてく...
-
vbaにてseleniumを使用したedge...
-
Excel 範囲指定スクショについ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba Array関数について教えてく...
-
VBAでCOPYを繰り返すと、処理が...
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】シートの変数へ入れ...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
【マクロ】並び替えの範囲が、...
-
Vba セルの4辺について罫線が有...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
VBAでユーザーフォームを指定回...
-
【マクロ】開いているブックの...
-
エクセルの改行について
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてく...
-
改行文字「vbCrLf」とは
-
ワードの図形にマクロを登録で...
-
VBAの「To」という語句について
-
【マクロ】変数を使った、文字...
おすすめ情報