データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
紹介したリンク先のマクロは、マクロを実行するときのアクティブシートにある条件付き書式の設定を通常の書式に変換するものです。
このコマンドを実行してから移動先にコピー貼り付け(「すべて」貼り付け)の操作を行えば、元の条件付き書式で設定した書式をそのまま貼り付けることができます。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
エクセルのマクロを使用して転送元から転送先へのデータの貼り付けを行いたいと思います。
転送元ブックで条件付き書式を使用し、フォントや塗りつぶしの色を変更しています。
例えば①NG選択時②3以下③500±5を外れる、といった条件時にフォントを黒から赤、塗りつぶしを無からピンクに変えています。
そして、データを蓄積していく目的でマクロでデータを転送していますが、その際、上記の①‐③の様に条件を外れた際の
条件付き書式をそのまま転送し、転送先でもフォントを赤、塗りつぶしをピンクで表示したいのです。
『xlPasteFormulasAndNumberFormats』や『xlPasteValuesAndNumberFormats』、『xlPasteValidation』といったものを使用してみましたがうまくいきませんでした。
対応方法をお教え頂けないでしょうか。
よろしくお願いいたします。
データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
質問作成者が受け入れた回答
紹介したリンク先のマクロは、マクロを実行するときのアクティブシートにある条件付き書式の設定を通常の書式に変換するものです。
このコマンドを実行してから移動先にコピー貼り付け(「すべて」貼り付け)の操作を行えば、元の条件付き書式で設定した書式をそのまま貼り付けることができます。
情報をありがとうございました。
確認させて頂きましたが申し訳ございません、私自身初心者なものでこの下記マクロをどこへどのように使用するかが分かりません。
転送先の標準モジュールに張り付ければよいのでしょうか?
貼り付けるだけでは読み込まれないかとも思いますし…。
また始めの『このマクロは、条件付書式が、「数式が 」で設定されたものに限ります。』という一文も、『Paste:=xlPasteFormulas』を使用するという事でよいのかどうか…、というところで疑問に思っています。
重ね重ね申し訳ございません。
アドバイスの程、よろしくお願いします。
[http://oshiete.goo.ne.jp/qa/2415760.html より]
このマクロは、条件付書式が、「数式が 」で設定されたものに限ります。そうでない場合、オプションを作らなくてはなりません。色は、フォントとパターンのみに対応しています。
'なるべく、標準モジュールに設定してください。
Sub FindFCondition2Format()
'条件付書式の色設定を、一般書式の色に換える
Dim r As Range
Dim c As Range
Dim i As Integer
Dim fc As Object
On Error GoTo ErrHandler
Set r = ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllFormatConditions)
Application.ScreenUpdating = False
For Each c In r
'セルを動かさないと、数式が取れない
c.Activate
Set fc = c.FormatConditions
For i = 1 To fc.Count
'判定
On Error Resume Next
If Evaluate(fc(i).Formula1) Then
c.Font.Color = fc(i).Font.Color
c.Interior.ColorIndex = fc(i).Interior.ColorIndex
End If
On Error GoTo 0
Next i
c.FormatConditions.Delete
Next c
Set r = Nothing
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox "条件付書式が見つかりません。", vbInformation
End Sub
数式を使った条件付き書式なら以下のページが参考になるのではないでしょうか。
条件付書式設定でつけた色を残したまま条件式を解除する方法は?http://oshiete.goo.ne.jp/qa/2415760.html
ご回答頂きましてありがとうございました。
実は、転送先のシートにも同じ条件付き書式設定を既に取り入れています。ただこの状態では、条件を変更した場合設定した色まで変更されてしまいます。
例えば7/31までは5〜10以外を赤文字、8/1以降10〜15以外を赤文字とする場合に7/26に7で正常値の黒文字だったのが、8/1以降条件付き書式で変更する事で7/26の正常値まで赤文字に変更されてしまうと思います。
これを防ぐ為に、条件付き書式で変更後も過去データはそのままの色等の状態で残しておきたいので、セル内の数字や色をそのままコピー、貼り付け出来る手段があればと思い質問させて頂きました。
条件付き書式で変更する毎にブックを変える案もありましたが、過去のデータ比較を一枚のシート内で比較したいのです。
無理を言いまして申し訳ございませんが、良い案がありましたらご教示頂ければと思います。
よろしくお願いします。
>そして、データを蓄積していく目的でマクロでデータを転送していますが、その際、上記の①‐③の様に条件を外れた際の条件付き書式をそのまま転送し、転送先でもフォントを赤、塗りつぶしをピンクで表示したいのです。
通常なら、条件付き書式を含めて、すべての設定をコピー貼り付けする方法でうまくいくような気がしますが、現在はどのような手順でコピーデータを転送しているのでしょうか?
現在のコードをそのまま利用するなら、転送先のシートにも同じ条件付き書式を設定しておき、元データを「値」貼り付けするような処理が簡単だと思います。