• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA 条件付き書式の書式(背景色)のみコピー)

VBA 条件付き書式の書式(背景色)のみコピー

このQ&Aのポイント
  • エクセル2016のマクロで、別シートの条件付き書式の書式(背景色)のみコピーしてきたいです。
  • 範囲の背景色のみコピー&ペーストという動作自体できないのでしょうか?
  • for...nextで一セルずつ等他に方法があればお教えいただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1638/2485)
回答No.1

Range.DisplayFormatは読み取り専用なので 以下のようにしてみてください。 Sub Test() Dim ws1 As Worksheet, ws2 As Worksheet Dim c As Range Set ws1 = Sheets("Sheet1") Set ws2 = Sheets("Sheet2") For Each c In ws1.Range("A1:D10") ws2.Range(c.Address).Interior.ColorIndex = _ c.DisplayFormat.Interior.ColorIndex Next End Sub

ascv
質問者

お礼

読み取り専用だったのですね、、 対応できました!ありがとうございます!!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率65% (1638/2485)
回答No.2

No.1の追加です。 ちなみに A1:D10 が同じ色になっている場合は ws2.Range("A1:D10").Interior.ColorIndex = ws1.Range("A1:D10").DisplayFormat.Interior.ColorIndex でいけますが、そうならない場合のことを考えたらNo.1の方法でひとセルずつコピーしたほうがいいと思います。

ascv
質問者

お礼

同じ色を扱う際はこちらでやってみます! ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル VBA Worksheet_Changeとコピー&ペースト

    いつも皆様には大変お世話になっております。 早速の質問ですが Worksheet_Changeを使ってマクロを組んでいるのと フォームを使ってマクロを組んでいます フォームのほうからのマクロで Sheet1のセルをコピーしてSheet2のセルに貼り付けをしたいのですが、 貼り付けができません。 フォームのほうからのマクロじゃなく手動でコピー&ペーストも利きません。コピーはできるのですがSheet2に変えたところ貼り付けができなくなってしまいます。 Worksheet_Changeのマクロを消すと動きました。どうにかならないでしょうか? ちなみにWorksheet_Changeの中のマクロは Private Sub Worksheet_Change(ByVal Target As Range) If Range("J48") = Range("J68") Then Range("J48").Interior.ColorIndex = xlColorIndexNone Else Range("j48").Interior.ColorIndex = 26 End If If Range("V48") = Range("V68") Then Range("V48").Interior.ColorIndex = xlColorIndexNone Else Range("V48").Interior.ColorIndex = 26 End If End Sub となっています。 何かいい解決法がありましたらご教授のほどよろしくお願いいたします。

  • エクセルVBA 双方向での書式のリンク方法

    エクセルVBAにて双方向での書式のリンクをさせたいと考えています。 具体的にはセルの背景色の双方向リンク方法について教えていただきたいです。ここで双方向での背景色のリンクとは別々のシート上のセルの背景色をどちら側の変更であっても、もう一方に変更を反映させることです。 【シート1】 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Sheets("Sheet2").Range("$A$1").Value = Sheets("Sheet1").Range("$A$1").Value Sheets("Sheet2").Range("$A$1").Interior.ColorIndex = Sheets("Sheet1").Range("$A$1").Interior.ColorIndex End If End Sub 【シート2】 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Sheets("Sheet1").Range("$A$1").Value = Sheets("Sheet2").Range("$A$1").Value Sheets("Sheet1").Range("$A$1").Interior.ColorIndex = Sheets("Sheet2").Range("$A$1").Interior.ColorIndex End If End Sub 上記のコードを記述しています。値のリンクはできているのですが背景色のリンクがどうしてもうまくできません。どちらかの変更と同時にもう一方の背景色も変更されるようにするにはどうすればよいでしょうか? どんな方法でもかまいませんのでお詳しい方よろしくお願いします。

  • 背景を条件付きで色を付けたい

    Sub test() Dim Rng As Range For Each Rng In Range("I7:I756") If Rng.Interior.ColorIndex = xlNone Then Cells(Rng.Row, 1).Resize(, 6).Interior.ColorIndex = 35 End If Next End Sub 上記のコードだとうまくいきません>< データベースがA7:K756まであり、I 列の背景が何もない場合のみ その行のAからFまでのセルを薄い緑の背景にしたいのです。 例えばI10の背景がない場合はA10.B10.C10.D10.E10.F10のセルを薄い緑する といった感じにしたいのですがVBAはあまり詳しくないので 詳しい方ぜひアドバイスお願いします。 エクセル2010を使っています。 補足 I列の背景は条件付き書式で色付けしています。

  • Excel_VBAでハイパーリンクの削除時の書式

    いつもお世話になっております。 ExcelのVBAで、ハイパーリンクを削除すると、一緒に書式もクリアーされてしまいます。 罫線と、背景色を残す方法ってあるのでしょうか? 一応、背景色だけ保存しておいて、後で、復帰させようと考えましたが、罫線も一時待避させるとなると、ちょっと大げさになるので、何か?知恵をお借り出来ないでしょうか? Private Sub CommandButton11_Click() 'リンク解除 Dim MyColor As Integer MyColor = maillist.Range("メールアドレス").Range"A1").Interior.ColorIndex maillist.Range("メールアドレス").Hyperlinks.Delete maillist.Range("メールアドレス").Interior.ColorIndex = MyColor End Sub "メールアドレス"範囲を別の所にコピーしておき、値だけ削除して元に戻して・・・なども考えてみましたが・・・?←これは、余計かも? 宜しくお願い致します。

  • excel2000 条件付書式5つ

    A1~J10に100個の数値があり、 行ごとの1位~5位にそれぞれ書式を あたえます。 マクロの記録機能を使って1位~3位を。 その後別で4位・5位を記録し、くっつけて みました。 つけたい書式は 以下のマクロの通りのセルのパターン・フォントの色です。 以下は記録したものをくっつけてつくったマクロです。 動作しません。 Sub 条件付書式5つ() Selection.FormatConditions.Delete Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _ Formula1:="=LARGE($A1:$J1,1)" Selection.FormatConditions(1).Font.ColorIndex = 2 Selection.FormatConditions(1).Interior.ColorIndex = 1 Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _ Formula1:="=LARGE($A1:$J1,2)" Selection.FormatConditions(2).Font.ColorIndex = 2 Selection.FormatConditions(2).Interior.ColorIndex = 16 Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _ Formula1:="=LARGE($A1:$J1,3)" Selection.FormatConditions(3).Interior.ColorIndex = 15 Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _ Formula1:="=LARGE($A1:$J1,4)" Selection.FormatConditions(4).Font.ColorIndex = 2 Selection.FormatConditions(4).Interior.ColorIndex = 3 Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _ Formula1:="=LARGE($A1:$J1,5)" Selection.FormatConditions(5).Font.ColorIndex = xlAutomatic Selection.FormatConditions(5).Interior.ColorIndex = 38 End Sub 初心者のためどうしたらいいのかまったく わかりません。 どうぞお願いします。

  • マクロでの条件付書式について

    私は、下記のようなO列の値を変更するとそれに伴ってセルの色が変化するマクロを作成しました。 下記の通りで、色は変わるのですが、 (1)セルO8をコピー (2)セルO9:O10を範囲選択 (3)貼り付け とすると 「型が一致しません」 というエラーがでてしまいます。 いろいろと調べたのですが、原因が分かりませんでした。 マクロに関しては、初心者で初歩的な事かも知れないのですがご教授お願いいたします。 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("O8:O5000")) Is Nothing Then Exit Sub Select Case Target.Value Case Is = "連絡待ち" Target.Interior.ColorIndex = xlNone Case Is = "取引連絡中" Target.Interior.ColorIndex = 23 Case Is = "取置き" Target.Interior.ColorIndex = 3 Case Is = "入金連絡あり" Target.Interior.ColorIndex = 4 Case Is = "発送準備中" Target.Interior.ColorIndex = 7 Case Is = "発送待ち" Target.Interior.ColorIndex = 17 Case Is = "発送済み" Target.Interior.ColorIndex = 16 Case Else Target.Interior.ColorIndex = xlNone End Select End Sub

  • エクセルVBA/イベント発生でコピペ不能はなぜ?

    シートに以下のマクロを設定すると、そのシート内ではコピーしたもののペーストが不能になります。 どうしてでしょうか? Private Sub Worksheet_SelectionChange(ByVal Target As Range) Target.Interior.ColorIndex = 6 End Sub

  • エクセルVBAのグラフに関することです!助けてください!

    先日にも質問させていただいているのですが、ブック内のシート全てにグラフがあります。そのグラフの大きさを統一したいのですが、初心者でなかなかうまくいかず、どこをどのようにかえたらいいかもわかりません。サイトをみて参考に作ってみたマクロでは、一枚のシートだけうまく表示されてしまいます。私のような素人にどなたか教えていただけないでしょうか。。たいへん困っています。 Sub グラフ1() Dim ws As Variant Const MYRNG As String = ("a11:a58,d11:g58") 'データ範囲 For Each ws In ActiveWorkbook.Worksheets Charts.Add With ActiveChart .ChartType = xlXYScatterLines .SetSourceData Source:=ws.Range(MYRNG), _ PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=ws.Name End With With ActiveChart.PlotArea '仕切りなおし With .Border .ColorIndex = 16 .Weight = xlThin .LineStyle = xlContinuous End With .Interior.ColorIndex = xlNone End With Next ws End Sub

  • VBAで条件付き書式設定

    エクセルの一覧表で2行目から4行ずつ上から商品名、商品コード、会社、商品項目とあって、列がAからXまであります。 以前、商品名ごとに自動で色づけしていた時に使っていたVBAです。 Sub 色分け() Dim Target As Range For Each Target In Range("b2:e2,b5:e5,b8:e8,b11:e11,b14:e14,b17:e17,b20:e20,b23:e23") Select Case True Case InStr(Target.Value, "〇〇") > 0 Target.Resize(4, 1).Interior.ColorIndex = 24 Case InStr(Target.Value, "△△") > 0 Target.Resize(4, 1).Interior.ColorIndex = 38 Case Else Target.Resize(4, 1).Interior.ColorIndex = xlNone End Select Next End Sub この色付け条件を4行目の商品項目ごとに変更したいのですが、方法が分からないので教えてください。 なんかすぐ出来そうな気がするんですけど、丸2日やっても分かりませんでした。 よろしくお願いします。

  • VBA グラフの事で教えて下さい!

    以前も質問させていただいたのですが、いくら調べてみても原因が分からないのでもう一度質問させてください!! 下記のコードを入力するとブック内のシート全てにグラフが表示されるのですが、1回目のマクロ実行では、グラフの表示がシートごとにバラバラで、もう一度マクロを実行するとすべてのグラフ表示が整います。 これを一回目のマクロ実行でグラフ表示を整えたいのですが、どなたかこの素人に詳しく教えて下さい!よろしくお願いいたします。 Sub グラフ1() Dim ws As Variant Const MYRNG As String = ("a11:a58,d11:g58") 'データ範囲 For Each ws In ActiveWorkbook.Worksheets Charts.Add With ActiveChart .ChartType = xlXYScatterLines .SetSourceData Source:=ws.Range(MYRNG), _ PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=ws.Name End With With ActiveChart.PlotArea '仕切りなおし With .Border .ColorIndex = 16 .Weight = xlThin .LineStyle = xlContinuous End With .Interior.ColorIndex = xlNone End With Next ws End Sub

ELECOM WTC-1167US-B 故障?
このQ&Aのポイント
  • ELECOM WTC-1167US-Bという無線LAN中継器が故障しているか質問です。
  • 購入後約1か月経ったある日、中継の効果が感じられなくなり、赤いランプが点灯しない現象が発生しました。
  • リセットボタンを押しても何も変わらないため、故障している可能性があります。
回答を見る